[PHP-dev 914]Re: multipart/form-data時のencoding_translationの仕様について

Rui Hirokawa rui_hirokawa @ ybb.ne.jp
2003年 10月 25日 (土) 14:01:38 JST


廣川です。

http_inputの指定に対する対応が抜けていたようです。

1.mbstring.encoding_translation = On の場合
 (1) http_input = auto の場合:
  入力文字コードを検出して内部文字コードに変換
 (2) http_input = pass の場合:そのままスルー
 (3) http_input = 有効な文字エンコーディングの場合:
  指定された文字コードから内部文字コードに変換
2.mbstring.encoding_translation = Off の場合
 mbstringが組み込まれないオリジナル版と同一の動作

という感じでどうでしょうか?
とりあえず PHP5, PHP-4.3.4dev用のパッチを作ってみましたが
PHP 4.3.4にコミットできるかどうかはIliaさん次第です。

On Fri, 24 Oct 2003 15:23:09 +0900
Seiji Masugata <s.masugata @ digicom.dnp.co.jp> wrote:

> こんにちわ、桝形です。
> 
> 最新の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 mailing list
> PHP-dev @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-dev


-- 
Rui Hirokawa <rui_hirokawa @ ybb.ne.jp>


PHP-dev メーリングリストの案内