Shift-JISで出力したFormからPOSTで受け取った値が正常に取得できない

技術関係

Formに enctype=”multipart/form-data” が指定されていると文字コード変換が動作しない様子

http://kona.tonakaj.org/php.multibyth.html>
しかし、文字エンコーディングの設定は合っていて、スクリプトエンコーディングも内部エンコーディングも出力エンコーディングも問題ないのに、なぜか HTTP入力($GET,$POST,$REQUEST,$FILESの一部)だけが文字化けする場合、PHPのバグ?仕様?※2 のせいかもしれません。PHP5.1.7以降?※3 ではHTMLのフォームでenctype=”multipart/form-data”を指定するとHTTP入力の自動エンコーディング変換で失敗してしまうようです。この場合はenctype=”multipart/form-data”を使わないか、もしくは次のようにして$POSTと$GET等を自分でエンコーディング変換してやればよいでしょう。$REQUESTの合成順序は適当に修正して下さい
<<

タイトルとURLをコピーしました