[PHP-users 8295] Re: GET メソッドでの文字化けについて
KOYAMA Tetsuji
php-users@php.gr.jp
Wed, 26 Jun 2002 16:39:31 +0900
小山です。
At Wed, 26 Jun 2002 16:00:27 +0900,
岩田大樹 wrote:
> > $_GET["name1"] の文字エンコーディングを調べてみました?
> > 何に変換されているかわかれば解決できそうな気が…。
>
> mb_detect_encoding にて文字化けした文字列のコードを調べたところ
> UTF-8 でした。
Internet Explorer には「常にUTF-8としてURLを送信する」という設定があ
りますが、もしやこれでは? 使用しているブラウザはなんでしょう?
> そこで,aa.html の入力ボックスを3つに増やし,それぞれに異なる日本語
> を入力した上で,submit したところbb.html には正常にEUC コードの文字列
> が表示されました。不思議なことにaa.html の各ボックスの入力文字列の
> 長さや,入力文字列自体を帰ることにより文字化けする時もあれば無い時もありました
> 。
> 私が思うにこれは【PHP によるコードご認識】ではないでしょうか?
自動判別には、常に誤認識の危険がつきまといます。それが嫌ならば
http_input を pass にして変換を行わないのが確実です。
ブラウザが POST する文字コードは、ページが記述されている文字コードに
合わせるというのは、まぁ一般的な挙動だと思いますが、GET に関してはその
ような前提も全くないのが現状だと思います。
日本語を GET で渡すということも、よほどの理由がなければそもそもやら
ないような...。
--
小山 哲志@ビート・クラフト
koyama@beatcraft.com
koyama@hoge.org