[PHP-users 29285] Re: メールの文字化け

しょういち nto @ rone.jp
2006年 5月 24日 (水) 13:36:03 JST


しょういち@rone.jpと申します。

> 過去ログ・Webで色々調べ、その通りにコードを書いているのですが、
> どうしても時々、メールの日本語部分が文字化けしてしまいます。
> 
> EUC-JPでソースを書いております。
> メールのテンプレートをDBにEUCで格納しておいて、
> 送信するときに、適宜文字列を置換して送信という方法を採っています。
> 
> 以下ソース
> --
> $mail = "to @ example.co.jp";
> $subject = "DBから取得した件名";
> $body = "DBから取得した本文";
> 
> mb_language("Japanese");
> mb_internal_encoding("EUC-JP");
> $header = "From :" . mb_encode_mimeheader("ほげほげ") . "<mail @ example.com>";
> mb_send_mail($mail, $subject, $body, $header);

$header = "From :" . mb_encode_mimeheader("ほげほげ","ISO-2022-JP","B") . "<mail @ example.com>";
と省略可能の部分を指定した場合も同じ結果になりますでしょうか。

あと、mb_encode_mimeheaderを使わないでもいいのでしたら
$header = "From : =?iso-2022-jp?B?".base64_encode("ほげほげ")."?=<mail @ example.com>";

なんてどうでしょうか。

-- 
しょういち <nto @ rone.jp>



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