[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 メーリングリストの案内