- 締切済み
PHPメールフォームでの文字化け
プログラミング&PHP超初心者です。 PHPでメールフォームを作成して、送信には成功しましたが、受信したメールが文字化けしています。 いろいろ調べたのですが、解決できませんでした。 どなたか詳しいかた、教えていただけると嬉しいです。 送信する部分: if ($name != \"\" and $from != \"\" and $title != \"\" and $naiyou != \"\" ) { if (mb_send_mail($to, $title, $naiyou, \"From:$from\")) { echo \"メールを送信しました\"; } else { echo \"メール送信失敗です\"; } 文字コードはEUC-JPです。 サーバーはロリポップです。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
確実にやるにはmb_send_mail()ではなくmail()のほうがよいでしょう 本文は7bit jisにエンコードし、その他はさらにmb_encode_mimeheader()してください。
- BrueBreeze
- ベストアンサー率52% (83/159)
メールで使用される日本語文字コードはISO-2202JPと定められています。 送信する文字データをすべてISO-2202JPにコンバートしてください。
お礼
サーバーのphp.iniの設定で解決しました。 ありがとうございました。
補足
さっそくのご回答ありがとうございます。 >ISO-2202JPにコンバート すみません、やりかたがわかりません…。 ちなみに、受信したメールのヘッダを見ると Content-Type:text/plain; charset=UTF-8 Content-Transfer-Encoding:BASE64 となっています。 関係あるのかな?
お礼
サーバーのphp.iniの設定で解決しました。 ありがとうございました。
補足
さっそくのご回答ありがとうございます。 すみません、超初心者なもので、記述の仕方がわかりません。 もし、よければどのあたりにどう記述したらいいか、教えていただけると嬉しいです。