dポイントプレゼントキャンペーン実施中!

PHPで問合せフォームを作っていて、最初は文字コードが”EUC”でうまく動作していました。ところが、サーバを変えたら文字化けしてしまい、問い合わせたところ”UTF-8”に変えてくださいと言われました。

単純に”EUC”だったところを”UTF-8”に修正したら、HP上の表示は直ったのですが、送信されるメールが文字化けしたままなのです。(「?????」という感じで)

mb_language("uni"); 
を入れたらいいのだろうというとこまでは辿り着いたのですが、どこに入れてもうまくいかず・・・。
http://www.infinity-dimensions.com/blog/archives …
もともと私が作ったプログラムではなく、PHPの知識がないため困っています。

自分なりに調べて、いろいろ試してもわかりませんでした。
助けていただける方がいらっしゃいましたら、よろしくお願いいたします。

-------------(現在のソースです)-------------
<?php
foreach($_POST as $key => $val){
if(is_array($val)){
continue;
}
$val = mb_convert_kana($val, "KVas","UTF-8");
$val = trim($val);
$val = stripslashes($val);
$val = htmlspecialchars($val);
$_POST[$key] = $val;
}
?>
<form method="post" action="<?php print($_SERVER["PHP_SELF"]); ?>">

A 回答 (1件)

mb_language('Japanese');


mb_internal_encoding("UTF-8");
を一番最初に入れてみてください。
mb_send_mail関数を使った環境では文字化けせずに送信できます。
彼方のソースでは未確認です。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございました。
無事解決しました!
私ももっと勉強したいと思います。

お礼日時:2007/04/09 13:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!