やはり文字コードの入出力設定絡み。
メール処理の前に↓の2行を入れることで正常に。
mb_language("Japanese");
mb_internal_encoding("EUC");
簡単に調べてみた感じではPHP4.3.1以降では
明示的に文字コードを指定しなければならない場面があるようで、
ちょっと面倒だけどおまじないとして覚えるしかないかな。
mb_language()はmb_send_mail()のため。
指定しないとUTF-8になって、改行が化けてしまう。
mb_internal_encoding()はmb_encode_mimeheader()のため。
From:に全角文字を指定する時に使う。
なんだかんだで面倒くさいな。
php.iniの設定次第、でもあるのだけど、
php.iniの設定は以前とほとんど変わりないのに、
バージョン変えただけで明示的指定とは…
この辺り、PHPのまだ面倒なところかもしれないね。
0 comments:
コメントを投稿