[PHP-dev 333] Re: 藤本版PHP4のmultipart/form-data

Tomoyuki Asakawa php-dev@php.gr.jp
Wed, 1 May 2002 17:39:37 +0900


あさかわです。

中途半端な報告してすいません。
GWといいながら、月末だったんで。。。。

 >まだ検証はしていないのですが、おそらくこれは(幸か不幸か)僕のパッチとは無
 >関係な問題です(ので、正規配布のPHPでも発生するはずです)。HTTP入力の部分
 >は何も変えてないですし。

たぶんそうだとおもってました。

> 個人的には、こんな事はした事はないですが、HTMLの仕様ではinput毎
> にエンコーディングを変える事ができます。これを使いたい場合はencoding
> を自動変換されると都合が悪いので、今のままが良いと思います。

これって、対応してるブラウザあるのでしょうか?

>
> # 切実なニーズがある場合は考えた方が良いかもしれませんが、、
>

通常版での、mbstringの仕様としては、問題はないと思います。

EUCで表示されてるFormから、mutipart/form-dataを入力した場合
最近のブラウザなら、EUCで文字列がPOST/GETで送られますから。

もちろん。
outputbufferingでSJISに変換なんてことをすると
藤本さん版と同じ問題に遭遇するはずです。

ところが。

藤本さん版で、内部EUC,スクリプトSJIS,出力SJIS
としていると。
POST/GETでで送られる文字列は、SJISなわけですが
内部コードがEUCなので、EUCで入ってきてほしいわけです。
mutipart/form-dataじゃ無い場合は、変換されるので
問題ないですが。
ファイルアップロードが必要になって
mutipart/form-dataにしたとたんに、駄目になる
ってのは、仕様としては変ですね。

あ、これは、現バージョンへの批判ではないです。

phpの先頭で、全部変換しちゃうというコードで逃げましたので
実害はありません(byみずほ)

次期国際版の、会議でも、話題にならなかった
(だれも気が付かなかった)問題なので、あえて問題提起します。