[PHP-dev 317] Re: 藤本版PHP4のmultipart/form-dataの問題
桝形 誠二
php-dev@php.gr.jp
Tue, 30 Apr 2002 11:52:57 +0900
こんにちわ、桝形です。
僕もふじもとさん版のPHPにお世話になっています。
当事者ではないのですが、こちらで多少テストしてみました。
結果的にはあさかわさんと似たような状況になってしまいます。
以下、再現スクリプトです。
Form.html
-------------------------------------------------------
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CharSet=Shift_JIS">
<META HTTP-EQUIV="Pragma" CONTENT="No_Cache">
</HEAD>
<BODY>
<FORM ACTION="Form.php" ENCTYPE="multipart/form-data" METHOD="POST">
<INPUT TYPE="hidden" NAME="Hidden" VALUE="ダミーを挿入するとどうなるか?">
<INPUT TYPE="file" NAME="File" size="30">
<INPUT TYPE="text" NAME="Text" size="30">
<INPUT TYPE="submit" VALUE="処理を実行する">
</FORM>
</BODY>
</HTML>
-------------------------------------------------------
Form.php
-------------------------------------------------------
<?
echo "[".$_POST[Text]."]<BR><BR>";
echo "[".$_POST[Hidden]."]<BR><BR>";
phpinfo( );
?>
-------------------------------------------------------
入力フォームのテキストエリアには[テストしたいねん。]と
入力しました。
それぞれ、
[テストしたいねん。]→[eXgB]
[ダミーを挿入するとどうなるか?]→[_~[}H]
の文字列に変わっていました。
php.iniの設定は、
[mbstring]
mbstring.internal_encoding = EUC_JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = auto
(mbstring.script_encoding = SJIS)
(mbstring.script_encoding = auto)
(mbstring.script_encoding = EUC_JP)
と、3つほど試してみたのですが全て同じ結果になりました。
ちなみに、ENCTYPE="multipart/form-data"をはずして実行
するとどれも問題はありません。
PHPのバージョンは4.1.2で、
http://nxweb.dyndns.org:8080/downloads/php-4.1.2-multibyte.tar.gz
を使用させていただきました。
報告がダブってしまいましたら申し訳ありません。
> # 4.2.0版のパッチ/アーカイブもあったほうが良いですか?
php-dev@php.gr.jp
。。。できればあった方が嬉しいです。:-)
_______________________
桝形 誠二( Masugata Seiji )
E-Mail : s.masugata@digicom.dnp.co.jp
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄