どうも、Thunderbird(5.0 以降)のバグっぽいですね。
Miya-35 さんのケースとは必ずしも同一ではないのですが、当方の環境(Windows XP SP3 + Thunderbird 6.0.1)でも本文の文字化けは再現しました。
【基本的な設定条件】
・アドオンはすべて無効
・メッセージ作成はプレーンテキスト形式
・[フォントと文字エンコーディング] は、[送信メッセージ] 、[受信メッセージ] ともに [日本語(ISO-2022-JP)]
【手順】
(1)メッセージ作成画面を開き、適当に宛先、件名を入れ、本文には適当な日本語文章を入力する。
テスト用の件名「文字化けテスト」
テスト用の本文「テキストファイルを添付すると本文が文字化けする?」
(2)添付ファイルとして、テキストファイル(*.txt)を選択する。
テスト用のテキストファイル: test=sjis.txt(文字コードは Shift_JIS)
(3)下書きとして保存する。-> この段階では、メッセージペインで本文は文字化けしていない。
ただし、ソース表示すると本文がエンコードされている。――【A】
(4)保存したメッセージの編集を実行し、開いたメッセージ作成画面では本文が文字化けしている。
$B%F%-%9%H%U%!%$%k$rE:IU$9$k$HK\J8$,J8;z2=$1$9$k!)(B
A さんが書きました:
Subject: =?ISO-2022-JP?B?GyRCSjg7ejI9JDElRiU5JUgbKEI=?=
Content-Type: multipart/mixed;
boundary="------------020505060900040603070304"
This is a multi-part message in MIME format.
--------------020505060900040603070304
Content-Type: text/plain; charset=ISO-2022-JP …… P
Content-Transfer-Encoding: 7bit
$B%F%-%9%H%U%!%$%k$rE:IU$9$k$HK\J8$,J8;z2=$1$9$k!)(B …… Q
--------------020505060900040603070304
Content-Type: text/plain; charset=Shift_JIS; …… R
name="test=sjis.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test=sjis.txt"
(以下、添付ファイルの内容=省略)
【考察】
― Word 文書(*.doc)や Excel 文書(*.xls)の添付では再現しなかった。しかし、テキスト文書であれば、*.txt でも *.csv でも再現した。
―
P の部分は、当方では Miya-35 さんのように「charset=Shift_JIS」にはならなかった。
― (3)のとき、プロファイル内の Draft ファイルをテキストエディタで開いて見ると、
Q の部分は文字化けしていない。つまり、ISO-2022-JP で正しく記述されている。ただし、
P の部分が「charset=Shift_JIS」になっていると、エンコードされているはず??
―
P が「charset=ISO-2022-JP」になっていれば、(4)で文字化けしていても、送り先(Thunderbird)で受信した本文は正しく表示できた。(ただし、
P の部分が「charset=Shift_JIS」になっていると、送り先で文字化けが発生するかも?)
― (3)のとき、[表示] -> [文字エンコーディング] を確認すると、[日本語(Shift_JIS)] になっている。―― 【B】
― (2)で、添付するテキストファイルの文字コードを UTF-8 や ISO-2022-JP にすると、それに応じて
R の部分が「charset=UTF-8;」「charset=ISO-2022-JP;」になる。
―
R 部分の変化に対応して、【B】は「Unicode(UTF-8)」や「日本語(ISO-2022-JP)」になる。
―
R が「charset=ISO-2022-JP;」になっているものは、(4)で文字化けは起こらない。
― (4)で、添付ファイルを削除して保存したものは、再び編集画面を開いても文字化けしない。(
R がなくなっているから?)
― Draft ファイルをテキストエディタで開き、
R の部分(charset=Shift_JIS;)を削除すると、(4)でも本文は文字化けしない。
― Thunderbird 3.1 で上記手順を実行しても
R は生成されないし、(4)で文字化けすることもない。
― この現象は、Thunderbird 5.0 、6.0.1 、7.0b1 で再現する。(8.0a2 以降は未検証)
5.0 以降では、添付ファイルをつけて作成・編集したメッセージの保存時に(判別可能な)添付ファイルの文字エンコーディングをヘッダ情報に付加するように変更されているようです(
R)。
しかしメッセージ作成画面では、この
R 部分が影響してか、本文の文字セットの取り扱いに不都合が起こっているように見えます。
Thunderbird のメッセージペイン、メッセージを開いたタブやウィンドウなどでは、メッセージ内のエンコード形式・文字セットを比較的柔軟に扱って正しく自動表示してくれますが、メッセージ作成画面ではこの融通が効いていないと思われます。
現時点の 6.0.1 で、設定値の変更等による有効な回避策は思い当たりません。
生のテキストファイルではなく ZIP 形式などでアーカイブ化したものを添付するか、3.1 系に戻すぐらいでしょうか。
http://mozilla.jp/thunderbird/download/older/
長くなりましたが、実際たいしたテストはできていません。取りこぼしや勘違いがあったらツッコミ入れてください。
(余談)
電子メールで標準的に使われる文字セット(ISO-2022-JP / 7 bit)と、コンピュータ上での文書作成で使われる標準的な文字セット(Shift_JIS / 8 bit)が異なる文化圏に固有の問題かもしれませんね。
いっそ、Unicode(UTF-8)で統一されていまえば楽だといえますが、Unicode 自体の弱点や過去資産の再利用といった実用面など、いろいろ制約もありそうですし......。