- 締切済み
メール 文字化け
htmlでメールフォームを作りphpでそのhtmlを表示させるという機能を使っているのですが、送られてくるメールには????という文字化けの状態で送られてきます。 phpの知識はまったくといって初心者です。 http://www.yumemaboroshi.net/cgi4876/のサイトからもらってきました。 サーバはさくらレンタルサーバを使用しています。 誰か謎を教えていただけないでしょうか? 知り合いにも聞いたのですが、phpのファイルに記述されているものがよくわからないといわれました。 お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- shimix
- ベストアンサー率54% (865/1590)
配布元が難読化しているので、スクリプトの解析は無理ですね。本来は配布元で(難読化するのであれば)サーバの設定などに影響されないように作っていないといけないと思います。 (蛇足) 普通はmb_languageとmb_internal_encodingをキチンと書いていて、フォームからの入力をinternal_ecnodingと合わせていれば(異なっている場合には自前で変換していれば)あとはmb_send_mailが面倒を見てくれるハズです。
- LACOMS
- ベストアンサー率65% (15/23)
フォームメール等からデータを渡すPHPに書きます。 <form action="abc.php"> であれば、「abc.php」のプログラムにメール送信のプログラムを書きます。
- LACOMS
- ベストアンサー率65% (15/23)
以下のように文字コードを明確に設定(変換)したください。 mb_language("Japanese"); $to="宛先メールアドレス"; $subject="テスト送信・なかなか日本語は難しいですね"; $subject=mb_convert_encoding($subject,"ISO-2022-JP","SJIS"); $massage="ただいまメールのテスト中です。日本語処理は大変難しいですね。"; $massage=mb_convert_encoding($massage,"ISO-2022-JP","SJIS"); $add_header="From:送信元メールアドレス"; if(mb_send_mail($to,$subject,$massage,$add_header)){ print("メールを送信しました。"); }else{ print("メールの送信に失敗しました。"); } ISO-2022-JPは、JISです。
補足
有難うございます。 こちらの内容は拡張子がphpに記述すればよろしいのでしょうか? それとも、拡張子がhtmlに記述すればよろしいのでしょうか?