スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

POSTのデータが文字化けする?

PHPでフォームからのPOSTデータを受け取った時、サーバーによって文字化けしたりしなかったり・・・・
困ったことになることがありませんか?
原因は mbstring.encoding_translation かも知れません。
mbstring.encoding_translation は、デフォルトではOFF(0)ですが、サーバーによってはON(1)になっている場合があり、存在感の無い設定なので注意が必要です。

mbstring.encoding_translation がONになっていると、フォームから受け取ったデータは速攻でinternal_encodingの文字コードに変換されてしまいます。
通常はHTMLの文字コードで送られてくるので、HTMLの文字コードと内部エンコーディングが違っていると、この部分で文字化けが発生してしまいます。

ですので、ini_getでmbstring.encoding_translationの設定値を取得して、適切なコンバートを行う必要があります。

ただし、auの携帯電話からのPOSTは自動的にHTMLエンコードされるので、mbstring.encoding_translationの設定を無視してHTMLの文字コードで受信します。
スポンサーサイト

テーマ : web制作
ジャンル : コンピュータ

コメントの投稿

非公開コメント

ケータイはこちら

QRコード

FC2カウンター

検索フォーム

最新記事
カテゴリー
リンク
RSSフィード
プロフィール

鎌田 翔己(SK)

Author:鎌田 翔己(SK)
岡山のウェブデザイナー/アーキテクト/コンポーザーです。
トップレベルのHTML/XHTMLコーディングや、PHP、Flashなどの業務に携わっています。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。