linux文字コードはutf8,linuxからOutlook Expressに送信する。
受信したメールは文字化けとなる。なぜですか。
linuxで、シェルの中で、下記の部分で、送信する。
/sbin/service snmpd start 2>&1 | \
/bin/mail -s "snmpd was restarted tomatically." s@ks.co.jp
上記のソースを見ると、分かると思いますが。
メールの本体について、linuxで、VIモードで、
snmpd を起動中: ^[[60G[ ^[[0;32mOK^[[0;39m ]となっています。
catモードで、見ると、snmpd を起動中: [OK] となっています。
どうすれば、文字化けがなくなれますか。
No.3ベストアンサー
- 回答日時:
>「snmpdを起動中」の部分も化けています。
では、serviceコマンドの出力をメールで標準的に用いられる文字コードに変換する
/sbin/service snmpd start 2>&1 | iconv -f UTF-8 -t iso-2022-jp | mail -s .....
とか、そもそもメッセージを英語にする
LANG=C /sbin/service snmpd start 2>&1 | mail -s .....
などの対応が考えられます。
ただし、それでも [OK] の前後の制御文字列は残ってしまいますので、
> 制御文字列を取り除くようなフィルタを通す必要があります。』はどいうことですか。
sed などを使って、制御文字を削除するということです。
どうもありがとうございます。さすがという感じです。
まだ、質問があります。
実際に何千本のソースは上記のような問題があります。
各ソースで、出すメールも違います。
(1)制御文字列を取り除くことについて、
snmpd を起動中: ^[[60G[ ^[[0;32mOK^[[0;39m ]の中に、
制御文字は^[、G、mだけですが、制御文字にいろんな種類があります。
何千本のソースについて、制御文字が違うので、sedの利用方法も違うでしょうと思います。1つのsedの利用方法で、各ソースで、りようできれば、いいかなと思います。
(2)いろんなメーラがあります。Outlook Expressだけではないです。
メーラの文字コードも違います。文字コードをiso-2022-jpに変換しても大丈夫ですか。
No.7
- 回答日時:
最後と言いつつ、もう一点
> ソースを修正する以外のやり方
/bin/mail をスクリプトに置き換えて、ここでフィルタを通してしまうという手もありますね。非常に乱暴なやり方なのでお勧めしませんが。
No.6
- 回答日時:
うは、ノンストップですな…これで最後にします。
/bin/mail を sed 's/\x1b\[[0-9;]*[mG]//g' | iconv -f UTF-8 -t iso-2022-jp | /bin/mail に置換するフィルタの例です。
sed "s@/bin/mail@sed 's/\\\\x1b\\\\[[0-9;]*[mG]//g' | iconv -f UTF-8 -t iso-2022-jp | /bin/mail@g"
No.5
- 回答日時:
> なぜ、文字化けとなりますか。
Outlook Expressが、UTF-8の自動検出に対応してないか、ごく僅かな日本語文字列しか無いために、自動検出に失敗しているかのどちらかでしょう。いずれの場合でも、#1 さんがおっしゃるように、Header にコードが指定してあれば化けません。
Outlook Express から UTF-8 のメールを送る際は、適切なHeaderが付加されているはずですが、mail コマンドではHeaderが付加されませんので。
> 何千本のソースを対応しなければならないので、何か作業量を減らす方法とかありますか。
全部がシェルスクリプトで、決まったパターンがあるなら、自動的に書き換えるようなコードを書いて使えば良いと思います。
必ず mail コマンドにパイプするようになっているなら、その直前にフィルタを追加するような、比較的簡単なスクリプトで対応できると思います。頑張ってください。
すみません。初心者なので、例をあげてもいいですか。
(1)『全部がシェルスクリプトで、決まったパターンがあるなら、自動的に書き換えるようなコードを書いて使えば良いと思います。』の例
No.4
- 回答日時:
ちょっと書いてみました。
何千本ものソースに対応できるかは不明ですが。。。
/sbin/service snmpd start 2>&1 | sed 's/\x1b\[[0-9;]*[mG]//g' | iconv -f UTF-8 -t iso-2022-jp | mail -s ....
iso-2022-jp は極めて標準的なので、決め打ちで大丈夫だと思います。
ご丁寧にご回答していただいて、ありがとうございます。
すみません。まだ質問があります。
(1)なぜ、文字化けとなりますか。
linux文字コードはutf8,linuxからOutlook Expressに送信する。
受信したメールは文字化けとなる。
Outlook Expressで、utf8のメールを送信しても文字化けとなりません。
これはなぜですか。
(2)何千本のソースを対応しなければならないので、何か作業量を減らす方法とかありますか。
No.2
- 回答日時:
Outlook Express で「snmpdを起動中」の部分も化けているのでしょうか?
[OK] の部分だけが化けているのであれば、文字コードの問題ではありません。端末上で文字に色をつけるための制御文字列が生で表示されているだけです。
これが気になるなら、制御文字列を取り除くようなフィルタを通す必要があります。
この回答への補足
(1)「snmpdを起動中」の部分も化けています。Outlook Express でエンコードを手動で、utf8に変更すれば、「snmpdを起動中」の部分の文字化けがなくなります。だが、okの部分はまだ文字化けしています。今は手動で、エンコードを変更してほしくないです。どうすればいいですか。
(2)『制御文字列を取り除くようなフィルタを通す必要があります。』はどいうことですか。
No.1
- 回答日時:
ヘッダに正しい文字コードが書かれていないか、そもそもヘッダがないかのどちらかでは?
http://www.atmarkit.co.jp/fwin2k/win2ktips/711ma …
正しいヘッダを付けるか、↑に書かれているようにメーラ側で手動でエンコードを指定して読むかのどちらかでしょう
この回答への補足
Outlook Express でエンコードを手動で、utf8に変更すれば、「snmpdを起動中」の部分の文字化けがなくなります。だが、okの部分はまだ文字化けしています。今は手動で、エンコードを変更してほしくないです。どうすればいいですか。
補足日時:2009/05/09 10:51お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DNSサーバーの構築「no servers...
-
MacOSのLaunchAgentsってなんで...
-
Linuxサーバーは定期リブートを...
-
WMIを有効にする方法が分かりま...
-
WindowsからLinuxへの転送
-
Mac OS X ServerでのDNS設定
-
macでcronを利用するには?
-
リセットしたらデスクトップが...
-
sambaのnmbが起動できない
-
KDEをインストールしてもstartx...
-
インデザイン(InDesing)の開き...
-
[トラブル]fsck後に、ファイル...
-
FMVマイページ、FMVサーチが勝...
-
Google Chromeの文字の表示がぼ...
-
リモートデスクトップに接続で...
-
最近、ChromeにてYouTubeを再生...
-
ネットにつながっていない社内P...
-
pc初心者です。 UEFIでの設定で...
-
OSの入った2つのHDDを手動で選...
-
Windows 10でBIOS画面が表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DNSサーバーの構築「no servers...
-
MacOSのLaunchAgentsってなんで...
-
Linuxサーバーは定期リブートを...
-
AIXルーティング情報について
-
wermgr.exeって何ですか?
-
WMIを有効にする方法が分かりま...
-
batファイルでのプログラム起動順
-
インデザイン(InDesing)の開き...
-
geditについて
-
テキストログインでstartxをし...
-
Linuxのカーネルパニックについて
-
VNCクライアントから管理者権限...
-
起動エラーの復旧方法
-
apacheが起動しない
-
起動時にバッチファイルを実行...
-
qmailが動かない。
-
httpd(Apache)でhttpsのポート...
-
linuxからのメールが文字化けと...
-
rcpができない
-
gnomeのスタートアップの設定フ...
おすすめ情報