$from=”From:” .mb_encode_mimeheader($mailfromname) .”<” .$mailfrom .”>”;
FROMの設定をして、
mb_send_mail($email,$subject,$msg,’From: ’.$from);
とするとfrom部分が化けてしまいます。
どうしたらいいでしょうか??
Yahoo! JAPAN
mb_encode_mimeheaderをしなくてもいいのでは?
もしくは事前に送信前のSJISに変更すれば
問題ないはずです。
http://php.s3.to/man/function.mb-convert-encoding.html
mb_convert_encoding
以下の項目を確認されてはどうでしょうか。
・(送信者名などがフォーム入力なら)フォームの文字エンコード
・スクリプトの文字エンコード
上の二つが一致していなければ、mb_convert_encoding()でフォームの文字コードを変換する必要があります。
PHPはデフォルトEUCで動いていたと思いますよ。
また、mb_internal_encoding(”SJIS”)を入れているなら、mb_encode_mimeheader()は必要ないです。mb_mailが自動変換してくれるので。こちらの環境で確認しました。
これは別にいいんですが、「From」が引数でも入ってて重複してますね。
http://php.s3.to/man/function.mb-detect-order.html
mb_detect_order
(これは参考までに)
mb_detect_order(”EUC-JP”,”SJIS”,”UTF-8”);
と最初でやっておくと、mb_send_mailで自動判別してくれた覚えがあります。
・(送信者名などがフォーム入力なら)フォームの文字エンコード
・スクリプトの文字エンコード
はともにSJISです。
mb_detect_orderとやると下記のメッセージが表示されます。
Warning: Wrong parameter count for mb_detect_order()
どうしたらいいのでしょうか??
駄目なんですよ。
送信前に
mb_language(”Japanese”);
mb_internal_encoding(”SJIS”);
と入れているのですが完全に文字が化けてしまうんです。どうしたらいいでしょうか??