[PHP-dev 913]multipart/form-data時のencoding_translationの仕様について
Seiji Masugata
s.masugata @ digicom.dnp.co.jp
2003年 10月 24日 (金) 15:23:09 JST
こんにちわ、桝形です。
最新のmbstringのマニュアルには、
----------------------------------------------------------------------
注意: PHP 4.3.3以降、HTMLフォームのenctypeが multipart/form-dataに
設定され、かつ、 php.iniにおいて mbstring.encoding_translationにOnが
指定されて いる場合、 POSTデータの変数とアップロードされたファイルの
名前の 文字エンコーディングは、内部文字エンコーディングに変換されます。
ただし、HTMLフォームのnameに指定した文字は変換されません。
----------------------------------------------------------------------
と、あります。
現状、script_encoding機能だけを使いたくて、自前で$_POST/$_GET/
$_COOKIEを内部コードへ変換しているのですが、php.ini単位で、
http_inputにpass指定をしているのに、multipart/form-dataで送信
された場合、$_POSTだけが内部コードへ自動変換されます。
ここの仕様は、
mbstring.encoding_translationがOnで
http_inputがpass以外の指定の時に変換処理を行う
というのが正しいような気もするのですが、いかがでしょうか。
こういう風にできれば、完全にPHP3-i18nと同様かな?と思います。
--
Seiji Masugata<s.masugata @ digicom.dnp.co.jp>
PHP-dev メーリングリストの案内