二、三日前にPHP掲示板でメール送信時に文字化けしてしまう部分を修正したことがある。その時に散々EUCSJIS変換で悩まされたのだが、この際そのときの「コツ」を書き付けとく。 結論から言うと、例えばSubject ヘッダーに対するEUC->SJIS変換は、 $subject = i18n_convert($subject,'JIS','EUC'); $subject = tree::mime_enc($subject); こんなカンジで済ますことができる。 tree::mime_encの中身は function mime_enc($str){ if(get_magic_quotes_gpc()) $str = stripslashes($str); $encode = "=?ISO-2022-JP?B?" . base64_encode($str) . "?="; //Bヘッダ+エンコード return $encode; } とまあこんなカンジ。ようするに、 ''先にEUC->JIS変換をかませた後、改めてbase64_encodeとか言うのをすれば、インターネットで標準的なエンコーディングができる''ということらしい。 じっさい、この順番で行うようになってから文字化けがぴたりと収まった。 これ・・・会員管理用のdo_mail.incとかにも適用したほうがいいかなあ・・・。