[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 メーリングリストの案内