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

Toshinori Kisaka php-users@php.gr.jp
Sat, 09 Feb 2002 23:39:30 +0900


木坂です。

On Sat, 09 Feb 2002 21:21:34 +0900
LastTom <lasttom@ra2.so-net.ne.jp> wrote:

>   $SENDにちゃんと"爻"が入っているかどうか確認しましたか?
> 上記のソースだけでは処理1に行かないのはあたりまえなんでね。
> 直前で$SENDを表示して確認するなり、$SEND = "爻"  と代入してみて処理1が実
> 行かれないか確認するのが(php4を問題視するより)先でしょう。

失礼しました。ソースを極端に省きすぎてました。
じつはこのソースは一部しか書いてなかったのですが

test.php:

<?
  if ($SEND == "爻") {
    (処理1)
  }
?>
・・・
<form method="GET" action="test.php">
・・・
  <input type="submit" name="SEND" value="爻を見る">
</form>

のような感じで、$SENDはformで受けた変数です。

で、上記のif文の前に
echo $SEND;
をいれて、valueの漢字を色々変えて試して見ましたところ、
以下のような結果でした。

●value="爻" --> $SEND -> (何も出ません)
●value="爻を" --> $SEND -> \0
●value="爻を見る" --> $SEND -> \0\0
●value="見る爻を" --> $SEND -> 見る爻を(正常に出ます)
●value="爻見る" --> $SEND -> 爻見る(正常に出ます)

どうも、「爻」と「を」の組み合わせが最初にくるとだめみたいなのですが、

On Sat, 09 Feb 2002 21:25:26 +0900
Yoshiaki Sano <ysano@ysnet.org> wrote:

> さのです
> <?
>         $send = "爻";
>         if ($send == "爻"){
>                 print("ok\n");
>         }else{
>                 print("ng\n");
>         }
> ?>
> 
> で「ok」
> が得られるんですが、問題ありますか?
これはもちろん、このとおり、なりました。
上記のif文の前に、
if ($SEND == "爻見る")
  $SEND = "爻を見る";
echo $SEND;
とすれば
「爻を見る」となります。

formで値を渡すと「爻を見る」は受け取れないのです。

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