[PHP-users 29169] Webメールのタイトルの文字化け
天野義祐
amano @ kscom.co.jp
2006年 5月 11日 (木) 15:35:38 JST
こんにちは、天野と申します。
環境
OS:Windows2000 Professional
Apache:1.3.33
PHP:4.4.0(mbstring.internal_encoding = EUC-JP)
PostgreSQL:8.0.4(DBの文字コードはEUC-JP)
DBのデータをメール送信しようとするとYahooのWebメールで
タイトル(Subject)が文字化けしていまい、困っております。
全ての文字列が化けると言うわけではありません。
Outlook Expressや携帯(au)では正常に表示されます。
YahooMailでも正常: つけましょう → つけましょう
YahooMailで文字化け: 火の取り扱いに気をつけましょう → 火の取り扱いに気を$D$1$^$7$g$&
メール送信部分は次のようにしています。
//メール送信ファンクション
function mailto($mlsb,$msg,$mlto,$mlcc){
$headers = "From: info @ e-hokuei.net \r\n";
$headers .= "Content-Type: text/plain; charset=ISO-2022-JP\n";
$headers .= "Content-Transfer-Encoding: 7bit\n";
$headers .= "Cc:$mlcc";
$mlsb = mb_convert_encoding($mlsb, "JIS");
$msg = mb_convert_encoding($msg, "JIS");
//"K" 「半角片仮名」を「全角片仮名」に変換
$mlsb = mb_convert_kana($mlsb,"K");
$msg = mb_convert_kana($msg,"K");
// メール送信
mb_send_mail($mlto, $mlsb, $msg, $headers);
}
mb_encode_mimeheaderを使ったりいろいろと試行錯誤してみたのですが、
Webメールが正常に表示されても、Outlookでダメだったりと・・・。
アドバイスお願いします。
PHP-users メーリングリストの案内