PHPの mail 関数を用いて、そのまま日本語の文章を送信しようとすると文字化けしてしまいます。これは、mail 関数が日本語(マルチバイト言語)に対応していないために起こります。その他の要因も考えられますが、次のような点に気をつけるだけで文字化けをほぼ回避することができます。
1.mail 関数をマルチバイト文字列に対応の関数 mb_send_mail に変更する
2.言語と内部文字エンコードを指定する。内部文字エンコードとは、スクリプト内で扱っている文字列の文字エンコードのこと。指定の方法は具体的には次の通り。
mb_language("Ja") ;
mb_internal_encoding("EUC") ;
(言語が日本語、内部文字エンコードがEUCの場合)
次のページも参考になると思います。
[web] メールを送ろう mb_send_mail関数 - 離れPHP島
[web] mb_send_mail - Manual
コメントする