[PHP-users 15028]Re: メール件名の文字化けについて

Youichi Iwakiri yiwakiri @ st.rim.or.jp
2003年 5月 2日 (金) 20:30:30 JST


いわきりです

再現できました。
Moriyoshi Koizumi wrote in <200305020805.h4285SH5059839 @ at.wakwak.com> :
>小泉です。
>mb_convert_encoding() で変換した JIS 文字列 (ISO-2022-JPでなく、plain 
>JIS エンコードされた文字列) を、そのまま mb_send_mail() に渡すと、
>もし mb_send_mail() が正常に動いているのであれば、2重に変換が行われるよ
>うな気がするのですが。。。

変換できずにgive upしているみたいです。

<?php
$subject = "てすとてすとてすとてすと";
$subject = mb_convert_encoding($subject, "jis", "euc-jp");
mb_send_mail("yiwakiri @ st.rim.or.jp", $subject, "body");
?>

これで、送られてくるメールのSubject:フィールドは、
小原さんとまったく同じ、
Subject: =?ISO-2022-JP?B?GyRCJEYkOSRIJEYkOSRIJEYkOSRI?=
 =?ISO-2022-JP?B?JEYkOSRIGyhC?=
になります。

小泉さんが指摘されているコーディング上の間違いでSubjectが
おかしくなっているのは確かなようです。

ただし、
kohara wrote in <20030502171115.B6C4.SKOHARA @ fb3.so-net.ne.jp> :
>mb_convert_encoding()を利用しないと、件名だけでなく本文も以下のように
>文字化けします。
>
>件名:????????????
> ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>
>本文(一部抜粋):
> ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>[??O]
>???
>
>[?^?C?g??]
>????????????
>
>[??e]
>???

となるのは、実は、元の$subject, $msgがeuc-jpでなかった為と
思えるんですが、どうなんでしょう。

-- 
Youichi Iwakiri



PHP-users メーリングリストの案内