[PHP-users 9916] Re: 添付メール送信に関して

Shigeki Mimura php-users@php.gr.jp
Mon, 09 Sep 2002 10:29:45 +0900 (JST)


三村です。

ayamamot> Subject: ?e?X?g???M ←ここは"テストメール"と入力

これはMUAが変換したもので、厳密にはソースではないです。
Subject: =iso-2022-jp?B?.....?=
ってなってるものを良く見てください。
BASE64でencodeされた部分がdecodeするとどうなりますか?
ここがiso-2022-jpで正しいコードになっていないと文字化けします。
で、
$subject = i18n_mime_header_encode(i18n_convert($subject,"JIS"));
の部分ですが、mb_convert_encodingは第3引数を渡さないと、
変換元は内部encodingで指定されているものだと思って動作します。
ここで渡している$subjectが内部encodingと違っていると、
当然文字化けします。

鍵はこの辺りにあると思うんですが。
http input encoding translationがenableになってると
勝手に変換されてきたりするので、要注意なんですけどね。

変換対象がどのようなencodingになっているか、
追いかけて確認してみてください。