• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpのmb_send_mailで携帯のみ文字化け)

PHPのmb_send_mailで携帯のみ文字化け

このQ&Aのポイント
  • PHPのmb_send_mail関数を使ってメールを送信していますが、携帯のみで文字化けが発生します。
  • 使用しているメールサーバーはGoogleAppsで、PHPのバージョンは5.1.6です。
  • 日本語と内部文字エンコードはUTF-8で指定されており、return_path設定も行われています。

質問者が選んだベストアンサー

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>mb_language('ja'); >mb_internal_encoding('UTF-8'); これが設定されているのであればmb_encode_mimeheaderは、utf-8→JISを行います。なので自前での変換(mb_convert_encoding)は入れない方が無難です。 というか、$subjectはfromに入れる(自前でJISにしている)と同時にmb_send_mailでもsubjectとして渡しています。なおさらutf-8のままでないとマズイです。 (e.g.) mb_language('ja'); mb_internal_encoding('UTF-8'); $header = ""; $header .= "From: " . mb_encode_mimeheader($subject) . "<{$from}>"; $message = str_replace("\r", "", $message); $parameter = "-f hoge@example.co.jp"; $res = mb_send_mail($to, $subject, $message, $header, $parameter); なお「文字化け」は、どのメーラでどうなるといったことを基準にすると間違いの元です(メーラは自動補正して修正してくれるものが多いので)。popサーバから生のメールデータをダウンロードして中身を確認すべきです。

shintaaarooo
質問者

お礼

お返事が遅れてしまい大変申し訳ございません。。。 とても勉強になりました。 そのまま使わせていただいたところ上手くいきました。 ありがとうございます。大変助かりました。

関連するQ&A