• 締切済み

メール文書の文字化けに困っています。

下記のPHPを使ったメールフォームを作成しました。 送信は問題無く行うことができるのですが、送信先に受信されたメール文書について日本語が文字化けしてしまいます。 下記のソースをご覧頂き、原因がおわかりの方がおりましたらご教授頂けますと誠に幸いです。 宜しくお願いいたします。 <?php //create short variable names $name=utf8_decode($HTTP_POST_VARS['name']); $email=utf8_decode($HTTP_POST_VARS['email']); $subject=utf8_decode($HTTP_POST_VARS['subject']); $message=utf8_decode($HTTP_POST_VARS['message']); $name=trim($name); $email=trim($email); $subject=StripSlashes($subject); $message=StripSlashes($message); //modify the next line with your own email address $toaddress='test@test.domain'; mail($toaddress,$subject,$message,"From: $name <$email>"); //clear the variables $name=''; $email=''; $subject=''; $message=''; echo "response=passed"; ?>

みんなの回答

  • BellBell
  • ベストアンサー率54% (327/598)
回答No.2

以下の形が、小生がメール送信機能を作成した際のものです。 サーバ設定によってはダメかも知れません。 小生が使用したサーバで、散々文字化け対策を行った結果ですが。 以下コード---------------------------- //以下二行がメールタイトル、及び本文の文字化け対策として必要 mb_language("Japanese"); mb_internal_encoding ("SJIS"); $headers=""; $headers.="From: from@mail.jp\n"; $headers.="Reply-To: from@mail.jp\n"; $headers.="X-Mailer: PHP/".phpversion()."\n"; $subject = "タイトル"; @mb_send_mail($toaddress,$subject,$message, $headers);

  • Gizensha
  • ベストアンサー率34% (207/608)
回答No.1

送信するときの文字コートは何をお使いでしょうか?

sn_hyodo
質問者

補足

早速、ご回答ありがとうございます。 送信するときの文字コードをどこで設定するのかはわかりませんが PHPのソースコードはshift-jis、utf-8でそれぞれ試しましたが駄目でした。 他に良いアドバイスがございましたら 宜しくお願い致します。