[PHP-users 5336] Re: php4での「爻」について

Toshinori Kisaka php-users@php.gr.jp
Sun, 10 Feb 2002 10:32:17 +0900


木坂です。

On Sun, 10 Feb 2002 01:16:13 +0900
LastTom <lasttom@ra2.so-net.ne.jp> wrote:

> 松川です。
> 
>   ブラウザがSJIS以外の文字コードで返したときは当然化けますね。例えばEUC
> なページやもしくはブラウザがミス判定したページからなどだとダメでしょう。
>   autoとしておきたいのならinput type=hidden等でちゃんと判別してくれそな
> 文字列を別に渡しておけばいいと思いますが、そのちゃんと変別してくれる文字

その後、以下のソースで色々テストしてみました。

test.php
-------- ここから -----------
<?
  echo $SEND."/".$handle;
?>

<html>

<body>

<form method="GET" action="test.php">
  <input type="text" name="handle" size="20">
  <input type="submit" name="SEND" value="卦爻を見る">
</form>

</body>
</html>
-------- ここまで -----------

●textに「爻を見る」入力時:/\0\0 -> 異常
●textに「爻を見る」入力後、submitボタンを押す:爻を見る/爻を見る -> 正常
●submitボタンのみ押す:\0\0/ -> 異常

で、上記のソースで「爻を見る」を「卦爻を見る」に変更した場合:
●textに「爻を見る」入力時:/\0\0 -> 異常
●textに「爻を見る」入力後、submitボタンを押す:卦爻を見る/爻を見る -> 正常
●submitボタンのみ押す:卦爻を見る/ -> 正常

これはmbstring.http_input  = autoに戻してみて、テストしました。
やはりだめみたいですね。
しかし、submitだけならば
<input type="hidden" name="komoku" value=<? echo $komoku; ?>>
とでもして、komokuをみて判断ってのもできるんですが、
textまで変わってしまうんでは・・・
やはり、mbstring.http_input  = SJISしか手は無いんでしょうか?
すると
>   ブラウザがSJIS以外の文字コードで返したときは当然化けますね。例えばEUC
> なページやもしくはブラウザがミス判定したページからなどだとダメでしょう。
こういったことが起こるのもなんだかな〜って感じです。

こういった文字は気をつけるべしっていうようなリストでもあればいいんですけ
ど・・・
でも、textボックスの場合、クライアント側がどんな文字を入力するかはわから
ないわけですし。。。

---
木坂 俊則
kisaka@toyosys.co.jp