普段,メールソフトとしてMozila Thunderbird 2を愛用しています.ところが,まれに日本語メールで文字化けしてしまいます.
この原因は,メールのヘッダで宣言した文字コードと本文の文字コードが異なる場合に起こります.たとえば,メールのヘッダに
Content-Type: text/html; charset=Shift_JIS
とあり,「メールの文字コードはShift-JISですよ」と宣言しておきながら,実際にはメール本文の文字コードがiso-2022-jpな場合です.
いろいろ調べてみたのですが,Thunderbirdの開発側の見解としては,このようになるのは送信側の問題であり,受信側の問題ではないので,Thunderbirdでは対応しないそうです.Outlookなどでは,ヘッダでの文字コードの宣言を信用せず,本文の文字コードを解析して判断するそうです.(これも,Outlookが重い原因の一つですかねぇ)
解決策としてはいくつかありますが,どれもいまひとつです.主には,以下の3とおりです.
a.表示側で文字コードを変える「表示->文字エンコーディング->」
メールを表示するたびに文字コードを選ばなければならず,手間がかかる,Google Desktopの検索には文字化けしたままでインデックス化される,もちろん,Thunderbirdの検索にもヒットしなくなる
b.文字化け用のフォルダを用意して,「フォルダ右クリック->プロパティ->この設定を...にチェック」,文字化けしたメールをこのフォルダに移動させる
フォルダの管理が煩雑になる
c.文字化けしたメールを正しい文字エンコードで自分に転送する
ThunderbirdでもGoogle Desktopでも別スレッドとして認識される,もしくは,スレッドのつながりがおかしくなる.To,From,CC等の情報が元のメールから変わってしまう
で,いろいろ苦戦した結果,もう一つ方法を見つけました!
1.アドオン「ImportExportTools」をインストールする
2.文字化けメールを(a)の方法でチェックし,どの文字コードが本文かを調べておく.
3.文字化けメールを「ファイル->名前を付けて保存->ファイル」でeml形式で保存する.
4.TeraPadなどのテキストエディタで保存したeml形式のファイルを開く(Windows標準のメモ帳ではうまくいかないこともある)
5.メールのヘッダ部の最後の方にある「Content-Type: text/html; charset=○○」を探し,○○の部分を正しい文字コードの表記に直して保存する.(Shift-JISの場合「Shift_JIS」,EUC-JPの場合「EUC-JP」,iso-2022-jpの場合「iso-2022-jp」)
6.保存したメールを1.のアドオンを用いて取り込む「ツール->mbox/eml形式...->emlファイルを取り込む」
7.元の文字化けしていたメールを削除する
こうすると,新しく取り込んだメールは文字コードの指定以外完全に同じデータなので,文字化けしない,文字化け用フォルダを作る必要がない,ThunderbirdでもGoogle Desktopでも,スレッドはおかしくならない,検索には引っかかる,といいことづくめです.ちと手間がかかるのが難点ですが...
Thunderbirdで直接メールヘッダが編集できる方法があれば,もっと楽になるのだが...私にはわかりませんでした.誰か知っていたら教えてください...
この原因は,メールのヘッダで宣言した文字コードと本文の文字コードが異なる場合に起こります.たとえば,メールのヘッダに
Content-Type: text/html; charset=Shift_JIS
とあり,「メールの文字コードはShift-JISですよ」と宣言しておきながら,実際にはメール本文の文字コードがiso-2022-jpな場合です.
いろいろ調べてみたのですが,Thunderbirdの開発側の見解としては,このようになるのは送信側の問題であり,受信側の問題ではないので,Thunderbirdでは対応しないそうです.Outlookなどでは,ヘッダでの文字コードの宣言を信用せず,本文の文字コードを解析して判断するそうです.(これも,Outlookが重い原因の一つですかねぇ)
解決策としてはいくつかありますが,どれもいまひとつです.主には,以下の3とおりです.
a.表示側で文字コードを変える「表示->文字エンコーディング->」
メールを表示するたびに文字コードを選ばなければならず,手間がかかる,Google Desktopの検索には文字化けしたままでインデックス化される,もちろん,Thunderbirdの検索にもヒットしなくなる
b.文字化け用のフォルダを用意して,「フォルダ右クリック->プロパティ->この設定を...にチェック」,文字化けしたメールをこのフォルダに移動させる
フォルダの管理が煩雑になる
c.文字化けしたメールを正しい文字エンコードで自分に転送する
ThunderbirdでもGoogle Desktopでも別スレッドとして認識される,もしくは,スレッドのつながりがおかしくなる.To,From,CC等の情報が元のメールから変わってしまう
で,いろいろ苦戦した結果,もう一つ方法を見つけました!
1.アドオン「ImportExportTools」をインストールする
2.文字化けメールを(a)の方法でチェックし,どの文字コードが本文かを調べておく.
3.文字化けメールを「ファイル->名前を付けて保存->ファイル」でeml形式で保存する.
4.TeraPadなどのテキストエディタで保存したeml形式のファイルを開く(Windows標準のメモ帳ではうまくいかないこともある)
5.メールのヘッダ部の最後の方にある「Content-Type: text/html; charset=○○」を探し,○○の部分を正しい文字コードの表記に直して保存する.(Shift-JISの場合「Shift_JIS」,EUC-JPの場合「EUC-JP」,iso-2022-jpの場合「iso-2022-jp」)
6.保存したメールを1.のアドオンを用いて取り込む「ツール->mbox/eml形式...->emlファイルを取り込む」
7.元の文字化けしていたメールを削除する
こうすると,新しく取り込んだメールは文字コードの指定以外完全に同じデータなので,文字化けしない,文字化け用フォルダを作る必要がない,ThunderbirdでもGoogle Desktopでも,スレッドはおかしくならない,検索には引っかかる,といいことづくめです.ちと手間がかかるのが難点ですが...
Thunderbirdで直接メールヘッダが編集できる方法があれば,もっと楽になるのだが...私にはわかりませんでした.誰か知っていたら教えてください...
« Drupal備忘録-リッチテキストエディタ | Home | VertrigoServ »
| Home |

