携帯からメールを送ると文字化け・・・
PCからメールを送ると正常に表示されてるのに、携帯からだと内容が化けてしまうという現象になってしまいました・・・。
function sendmail($to,$from,$from_name,$title,$message){
/* JISコードへのエンコーディング */
$to = mb_convert_encoding($to, "JIS","EUCJP,UTF-8,SHIFT-JIS,ASCII,SJIS,ISO-2022-JP");
$from = mb_convert_encoding($from, "JIS","EUC-JP,UTF-8,SHIFT-JIS,ASCII,SJIS,ISO-2022-JP");
$title = mb_convert_encoding($title , "JIS","EUC-JP,UTF-8,SHIFT-JIS,ASCII,SJIS,ISO-2022-JP");
$message = mb_convert_encoding($message , "JIS","EUC-JP,UTF-8,SHIFT-JIS,ASCII,SJIS,ISO-2022-JP");
/* 改行コード変換(CR+LFへ変換) */
$to = ereg_replace("\r", "", $to);
$to = ereg_replace("\n", "\r\n", $to);
$from = ereg_replace("\r", "", $from);
$from = ereg_replace("\n", "\r\n", $from);
$from_name = ereg_replace("\r", "", $from_name);
$from_name = ereg_replace("\n", "\r\n", $from_name);
$title = ereg_replace("\r", "", $title);
$title = ereg_replace("\n", "\r\n", $title);
$message = ereg_replace("\r", "", $message);
$message = ereg_replace("\n", "\r\n", $message);
/* メールヘッダ生成 */
$header = "From: ".$from_name." <".$from.">\n";
$header .= "Reply-To: ".$from_name." <".$from.">\n";
/* メール本文生成 */
$message = mb_convert_kana($message,"KV");
/* 送信メッセージ言語設定 */
mb_language("Japanese");
/* メール送信処理 */
$rcd = mb_send_mail($to,$title,$message,$header);
分かる方いらっしゃいましたら、よろしくお願いしますm(__)m
お礼
アドバイスありがとうございます。 このCGIの使われ方は、<img src="http://cgi.geocities.jp/rhcpf907/fml2tex/?式y=x^2"> とか、Yahooブログの場合は、Wiki文法で [[img(http://cgi.geocities.jp/rhcpf907/fml2tex/?式< Σ_{n=1}^N a_n Ψ_n、Σ_{m=1}^M b_m Φ_m > )]] のように、ユーザが 直接URLを打ち込む使い方をするものです。 したがって、エンコードは、ブラウザ任せになると思います。 何かブラウザのエンコードを強制させる方法がありましたら、お教え下さい。
補足
どういう現象かは、 http://blogs.yahoo.co.jp/kafukanoochan/63268944.html を、IE6とIE8 で見て下さい。 「<」や「>」が、変になります。 尚、コメント欄のHirotaさんという方のコメも参考にして下さい。