- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ソースがUTF8、出力がSJISの場合のフォームでの受け渡しについてで)
ソースがUTF8、出力がSJISの場合のフォームでの受け渡しについて
このQ&Aのポイント
- 携帯サイトの入力フォームを作成しています。ソースはUTF8で作成し、HTML出力時にはSJISで出力しています。ローカル環境では文字化けが起きるため、解決策を模索中です。
- フォームから受け取った情報をUTF8に変換しているが、ローカルでは文字化けする問題があり、サーバでは正常に動作する。ローカルとサーバで同じ挙動にする方法を試行している。
- 現在、ローカル環境では変換部分をコメントアウトし、サーバにアップする際にコメントを外している。php.iniや.htaccessを変更することなく、解決策を模索中。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ローカル環境の、「mbstring.encoding_translation」をOffにすれば問題解決するんじゃないでしょうか。 Onにすると、POSTなど入力された際、mb_internal_encodingで指定してある文字コードに自動変換がかかるようです。
その他の回答 (2)
- tracer
- ベストアンサー率41% (255/621)
回答No.2
No.1です。 条件式の結果が逆でしたね。 失礼しました。
質問者
お礼
ありがとうございます。 条件式で判定することにしました。 ただ、そうなんです。気持ち悪いんです。
- tracer
- ベストアンサー率41% (255/621)
回答No.1
本題とはずれますが、単純にローカルサーバーかリモートサーバーかを判別すれば、コメントアウトという作業は免れると思いますが、それでは足りませんかね。まあ、気持ち悪いのは分かりますが。いずれにしても完全にサーバー環境を合わせない限りは、サーバー判別でやりくりする形になるんじゃないでしょうかね。 if(checServer()) remoteAction(); else localAction(); function checkServer(){ //たとえばIPで判別 return ('127.0.0.1'==$_SERVER['SERVER_ADDR']); }
お礼
ありがとうございます。無事解決しました。PHPにはそんな機能があったんですね。