[PHP-users 34326] Re: カゴヤサーバで携帯のみ文字化け
KZ
kz @ ykc.zapto.org
2009年 3月 2日 (月) 18:32:30 JST
KZです。
まつやま様、Chatii様、ご返信ありがとうございます。
一応解決しましたので、ご報告致します。
こちらのプログラムは、スクリプトはすべてUTF-8、
内部文字コードもUTF-8です。
携帯版の出力関連は、
if(ini_get('mbstring.http_output') != 'SJIS-WIN'){
mb_http_output('SJIS-WIN');
ob_start("mb_output_handler");
}
echo $str; //$strは生成されたHTML(通常の文字列)
としていました。
プログラム全体を通して、ブラウザへの出力はこのecho
のみですので、今回はまつやま様のアドバイスを参考に
させていただき、
//削除 if(ini_get('mbstring.http_output') != 'SJIS-WIN'){
//削除 mb_http_output('SJIS-WIN');
//削除 ob_start("mb_output_handler");
//削除 }
echo mb_convert_encoding($str,'SJIS-WIN','UTF-8');
とすることにより、現象は一応解決としました。
mb_convert_encoding() は外部ファイルを読み込む部分
や、form入力部分では使用していますが、ここで使うと
いう発想が、情けないことにまったく出ませんでした。
ただ、設定のどこがこの現象を引き起こしているのかは
判明していませんので、気持ち悪いのですが。
では。
--
# ページのエンコーディングがおかしいだけではありませんw
KZ
PHP-users メーリングリストの案内