[PHP-users 1938] Re: multipart/form-data で文字化け

Akihiro Sagawa php-users@php.gr.jp
Sat, 08 Sep 2001 02:22:35 +0900


こんにちは。佐川です。

以下の引用部分は'Satoshi Yamada'さんの
"[PHP-users 1936] multipart/form-data で文字化け"からのものです。
 >やまだ@神戸市です。
こんばんわ。

 >PHP4.0.6 + mbstring 環境での質問です。
 >
 >php.ini にて
(snip)
 >  mbstring.http_input = auto
 >  mbstring.http_output = SJIS
 >  mbstring.internal_encoding = EUC_JP
(snip)
 >と設定しているのですが、multipart で POST しようとすると
 >データが化けてしまいます。具体的には下記のようなフォームの場合です。
 ># ちなみにソースは EUC で書いてあります。
http_inputで、Shift_JISの優先度を上げてみるとどうなりますか?
autoは、ASCII,JIS,UTF-8,EUC-JP,SJISと同義なので、
SJISよりも、EUC-JPの方が優先度が高いのでEUC-JPと判定されてしまったのかも。

詳しくは、マニュアルの、mbstringの項を参照してください。
http://jp2.php.net/manual/ja/html/ref.mbstring.html

(snip)
 >何となく output_handler の仕様のような気もするのですが、
 >どなたか解決方法ご存知ないでしょうか?
output_handlerはPHPがクライアントに対してデータを送るときに使われるので、
POSTでクライアント *から* 送られてくる場合は、関係がないでしょう。
# 送ったエンコーディングが違ったら、
# 確かに送り返されてくるエンコーディングにも影響しますが。

手元で試したわけではないので、
はずしていたらごめんなさい。
では。

☆・・・・‥‥‥‥‥‥…‥‥‥‥‥‥・・・・
  佐川  昭宏       mailto:sagawa@sohgoh.net
                  http://pelican.sohgoh.net/
  ・・・・‥‥‥‥‥‥…‥‥‥‥‥‥・・・・☆