- ベストアンサー
バックグランド実行における漢字出力不可の対策方法
- バックグランド実行における漢字出力不可の対策方法とは何か?
- Linux(Ecolinux9.10)で夜間自動バックアップシステムを稼動させていますが、バックアップが正常に処理されたかどうかの確認時に漢字出力ができない問題が発生しています。
- 質問者は、シェルを日本語環境で動作させることで問題を解決しようと試みていますが、実際に日本語ターミナルを使用する方法が不明です。解決策を教えていただきたいとのことです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> シェルに"export=~"を入れて、シェルを日本語環境で動作させているつもりです。 そのつもりがなってないのでしょう。 こっちでやると LC_ALL=C tar tf test.tar →\345\271\263\346\210\220 LC_ALL=ja_JP.UTF-8 tar tf test.tar →平成 となります。 あるいは、\数字を変換するようなフィルタをかけるとか LC_ALL=C tar tf ttt.tar | perl -npe 's/\\(\d+)/sprintf("%c",oct("$1"))/ge' →平成
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
あれ? ちょっとまった. よく見たら, "export=~" じゃダメじゃん. 古きよき Bourne shell なら LC_ALL=ja_JP.UTF-8; export LC_ALL bash ならこれかあるいは export LC_ALL=ja_JP.UTF-8 ですよね.
お礼
ご回答ありがとうございます。 チェックしたら、export LANG のパラメータミスであることがわかりました。envでしっかり確認すれば防げたミスでした。 また、何ぞの折はよろしくお願いします。
- Tacosan
- ベストアンサー率23% (3656/15482)
「"¥"が先頭に付いたエンコード文字」とはどういうものでしょうか? 具体的にシェルスクリプト (not 「シェル」) を見せてもらうことはできませんか? そもそも漢字を使わなければいいというだけの話では?
お礼
> 「"¥"が先頭に付いたエンコード文字」とはどういうものでしょうか? 例: 平成 → \345\271\263\346\210\220 > 具体的にシェルスクリプト (not 「シェル」) を見せてもらうことはできませんか? tar tvf file.gz > mail.txt > そもそも漢字を使わなければいいというだけの話では? 複数のWindowsマシンが利用しているSambaサーバーの中身ですので、漢字は当たり前に使います。問題なのは漢字のファイル名を利用することでなくて、そのファイル名が文字化けすることです。
お礼
回答ありがとうございます。今朝方確認しましたところ、無事日本語表示ができました。 また、文字化けが起こった場合の回避方法も教えていただきありがとうございました。 一番手軽に文字を変換できるのがPerlだったとはと思ったほどです。(Perlをここしばらく使っていないので)