転送メールが文字化け
Posted: 2013年8月17日(土) 13:14
会社でThunderbirdをメーラーとして利用しています。
受信したメールを転送しようとすると、転送元のメール本文の文字化けが多発しています。
(メール閲覧している限りは文字化けしていません。)
[環境]
・Thunderbird17.0.6を使用
・転送元のメッセージは「メール本文に含める」の形で転送
(「ファイルとして添付」の形で転送する限りは、文字化け発生しません。)
※「ファイルとして添付」の形で転送すると、
iPad等のスマートデバイスで転送元メールが閲覧できないため、
転送方式切替が難しい状況です。
(「メール本文に含める」の形で転送を行う必要があります。)
[文字化け発生パターン]
1.転送元のメールに「テキストファイル」が添付されている場合
文字コードを意識せず、日本語で「メール本文」および「テキストファイル」を作成すると、
本文の文字コード:ISO-2022-JP
テキストファイルの文字コード:Shift-JIS
の形になります。
このメールの受信者がメール転送しようとすると、
テキストファイルの文字コードでエンコーディングされるため、
転送元メールのメール本文が文字化けします。
あらかじめ、本文とテキストファイルの文字コードを一致させておくと
文字化け発生しないため、複数文字コードが混在するメールを
転送しようとすると文字化けが発生しているようです。
(Thunderbird3等の過去のバージョンでは、このケースでも文字化けが起きていません。)
○Thunderbird3での文字コード
転送元メールの本文
---------------------
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
---------------------
添付テキストファイル
---------------------
Content-Type: text/plain;
name="=?ISO-2022-JP?B?GyRCSjg7ejI9JDElRiU5JUgbKEIudHh0?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0*=ISO-2022-JP''%1B%24%42%4A%38%3B%7A%32%3D%24%31%25%46%25%39%25;
filename*1*=%48%1B%28%42%2E%74%78%74
lbaOmom7gq+DZYNYg2c=
---------------------
○Thunderbird17での文字コード
転送元メールの本文(文字化けしている)
---------------------
Content-Type: text/plain; charset=Shift_JIS
Content-Transfer-Encoding: 8bit
---------------------
添付テキストファイル
---------------------
Content-Type: text/plain; charset=Shift_JIS;
name="=?Shift_JIS?B?lbaOmom7gq+DZYNYg2cudHh0?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0*=Shift_JIS''%95%B6%8E%9A%89%BB%82%AF%83%65%83%58%83%67%2E%74%78;
filename*1*=%74
lbaOmom7gq+DZYNYg2c=
---------------------
vcard付のメールの転送時も同じ現象になります。
また、送信者に文字コード指定をしてもらうことは現実的に難しい状況です。
2.文字コードが誤判定される場合
日本語と中国語が混在するメールで発生頻度が高いのですが、
メール転送時に文字コードを誤判定するケースがあります。
例えば、「UTF-8」でエンコーディングされた
日本語中国語混在のメールを受信したときに、
文字化けせずにメールが表示されている。
(受信者側での文字エンコーディングは、なぜか「GB2312」が自動選択されている。)
このメールを転送しようと、「転送」ボタンをクリックすると、
文字エンコーディングは「GB2312」が選択された状態で、
転送されようとするが、転送元メールの本文が文字化けする。
あらかじめ、転送元メールの文字コードを「UTF-8」に手動選択した上で、
「転送」ボタンをクリックすると、文字化け発生しない。
整理すると、上記例の場合、
・元々のメールはUTF-8でエンコーディングされている
・受信者側では文字コードが「GB2312」で文字化けなく表示
・受信者側でこのメールを転送しようとすると、「GB2312」でエンコーディングされ、
転送元メールの本文が文字化け。
の状況です。
(Thunderbird3等の過去のバージョンでは、このケースでも文字化けが起きていません。)
よく発生するユーザーのThunderbirdの文字コード関連の設定は以下のようになっていました。
「intl.charsetmenu.browser.static」⇒「Shift_JIS, EUC-JP, ISO-2022-JP, ISO-8859-1, UTF-8, ISO-2022-CN, gb18030」
「intl.charsetmenu.mailview.cache」⇒「gbk, GB2312, ISO-8859-2, windows-1250」(UTF-8が存在しない)
このあたりの設定も関係しているのでしょうか。
いろいろと調査をしているのですが、対策が見当たらず、困っています。
ちょっとしたことでも構いませんので、何卒よろしくお願いいたします。
受信したメールを転送しようとすると、転送元のメール本文の文字化けが多発しています。
(メール閲覧している限りは文字化けしていません。)
[環境]
・Thunderbird17.0.6を使用
・転送元のメッセージは「メール本文に含める」の形で転送
(「ファイルとして添付」の形で転送する限りは、文字化け発生しません。)
※「ファイルとして添付」の形で転送すると、
iPad等のスマートデバイスで転送元メールが閲覧できないため、
転送方式切替が難しい状況です。
(「メール本文に含める」の形で転送を行う必要があります。)
[文字化け発生パターン]
1.転送元のメールに「テキストファイル」が添付されている場合
文字コードを意識せず、日本語で「メール本文」および「テキストファイル」を作成すると、
本文の文字コード:ISO-2022-JP
テキストファイルの文字コード:Shift-JIS
の形になります。
このメールの受信者がメール転送しようとすると、
テキストファイルの文字コードでエンコーディングされるため、
転送元メールのメール本文が文字化けします。
あらかじめ、本文とテキストファイルの文字コードを一致させておくと
文字化け発生しないため、複数文字コードが混在するメールを
転送しようとすると文字化けが発生しているようです。
(Thunderbird3等の過去のバージョンでは、このケースでも文字化けが起きていません。)
○Thunderbird3での文字コード
転送元メールの本文
---------------------
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
---------------------
添付テキストファイル
---------------------
Content-Type: text/plain;
name="=?ISO-2022-JP?B?GyRCSjg7ejI9JDElRiU5JUgbKEIudHh0?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0*=ISO-2022-JP''%1B%24%42%4A%38%3B%7A%32%3D%24%31%25%46%25%39%25;
filename*1*=%48%1B%28%42%2E%74%78%74
lbaOmom7gq+DZYNYg2c=
---------------------
○Thunderbird17での文字コード
転送元メールの本文(文字化けしている)
---------------------
Content-Type: text/plain; charset=Shift_JIS
Content-Transfer-Encoding: 8bit
---------------------
添付テキストファイル
---------------------
Content-Type: text/plain; charset=Shift_JIS;
name="=?Shift_JIS?B?lbaOmom7gq+DZYNYg2cudHh0?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0*=Shift_JIS''%95%B6%8E%9A%89%BB%82%AF%83%65%83%58%83%67%2E%74%78;
filename*1*=%74
lbaOmom7gq+DZYNYg2c=
---------------------
vcard付のメールの転送時も同じ現象になります。
また、送信者に文字コード指定をしてもらうことは現実的に難しい状況です。
2.文字コードが誤判定される場合
日本語と中国語が混在するメールで発生頻度が高いのですが、
メール転送時に文字コードを誤判定するケースがあります。
例えば、「UTF-8」でエンコーディングされた
日本語中国語混在のメールを受信したときに、
文字化けせずにメールが表示されている。
(受信者側での文字エンコーディングは、なぜか「GB2312」が自動選択されている。)
このメールを転送しようと、「転送」ボタンをクリックすると、
文字エンコーディングは「GB2312」が選択された状態で、
転送されようとするが、転送元メールの本文が文字化けする。
あらかじめ、転送元メールの文字コードを「UTF-8」に手動選択した上で、
「転送」ボタンをクリックすると、文字化け発生しない。
整理すると、上記例の場合、
・元々のメールはUTF-8でエンコーディングされている
・受信者側では文字コードが「GB2312」で文字化けなく表示
・受信者側でこのメールを転送しようとすると、「GB2312」でエンコーディングされ、
転送元メールの本文が文字化け。
の状況です。
(Thunderbird3等の過去のバージョンでは、このケースでも文字化けが起きていません。)
よく発生するユーザーのThunderbirdの文字コード関連の設定は以下のようになっていました。
「intl.charsetmenu.browser.static」⇒「Shift_JIS, EUC-JP, ISO-2022-JP, ISO-8859-1, UTF-8, ISO-2022-CN, gb18030」
「intl.charsetmenu.mailview.cache」⇒「gbk, GB2312, ISO-8859-2, windows-1250」(UTF-8が存在しない)
このあたりの設定も関係しているのでしょうか。
いろいろと調査をしているのですが、対策が見当たらず、困っています。
ちょっとしたことでも構いませんので、何卒よろしくお願いいたします。



