6.4.34 添付ファイルの中身が文字化けする
- 現象
- テキスト形式の添付ファイルが文字化けする。
- 要因
- 受信した添付ファイルのContent-Typeがtext/plainであるがcharsetが指定されていない。この時,テキストの文字コードはISO-2022-JPではない。Windows XPとOutlookの組み合わせでUnicodeのテキスト添付ファイルを添付した場合に発生する事例があります。
- 送信側での対処
- 送信側で以下のような送信が可能であれば送信側で対処願います。
- テキストの文字コードを意識して保存(SJISまたはJIS)して添付する
既にUnicodeやUTF-8で保存しているテキストも,テキストエディタ(メモ帳の場合)で開いて「名前を指定して保存する」を実行して,文字コードに「ANSI」を指定するとSJISで保存されます。
- 拡張子を"txt"以外に変更する
例えば"txt2"などWindowsで認識されていない拡張子に変更すると添付ファイルとして添付したときには「Content-Type: application/octet-stream;」を生成する場合があります。
- 圧縮して添付する
圧縮することによってバイナリファイルになり,拡張子が"exe"等に変わることによって添付したときに「Content-Type: application/xxxxxxxx;」が生成される場合があります。
- 参考
- 上述した回避方法はMail - SMTPがサポートしていないcharsetであるテキストファイルを受信する場合にもMail - SMTPでの文字コード変換を回避する手段として有効です。
- Mail - SMTPでの対処
- Mail - SMTPでテキスト形式の添付ファイルを受信した場合に,文字コード変換を行うかどうか選択することができます。選択方法については「6.5.17 テキスト添付ファイルを文字コード変換しないで受信したい」を参照願います。