2007年04月29日

[PHP]POSTで全角文字が送れない?

先日PHPでファイルのアップロードを行うスクリプトを書いた際に
なぜか全角文字が受け取れない
GETなら受け取れる・・・

半日悩んだ結果、PHPのマニュアルにまんま載ってました

注意: PHP 4.3.2 およびそれ以前のバージョンの場合、 HTML フォームのenctype が multipart/form-data に設定された場合、 mbstring は、POST データの文字エンコーディングを変換しません。 この場合、文字列を内部文字エンコーディングに変換してやる必要があります。

注意: PHP 4.3.3 以降、HTML フォームの enctype が multipart/form-data に設定され、かつ、 php.ini において mbstring.encoding_translation に On が指定されている場合、 POST データの変数とアップロードされたファイルの名前の文字エンコーディングは、 内部文字エンコーディングに変換されます。 ただし、クエリキーに関しては、変換されません。



ということで解決方法は次のような感じ

$hoge = mb_convert_encoding($_POST['hoge'],"EUC-JP", "auto");
タグ:PHP
posted by Belial at 21:13 | Comment(0) | TrackBack(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。