[PHP-users 10587] フォームで日本語がうまく処理できない

Kazuhiro Matsumoto php-users@php.gr.jp
Mon, 07 Oct 2002 00:26:57 +0900


こんにちは、はじめまして。
PHPを学び初めたばかりのマツと申します。
使用しているPHPのバージョンは4.2.2です。
さて、以下のファイルを同じディレクトリに置きました。

-- who.html(主要部分のみ) ---
<FORM method="POST" action="who.php">
名前 <INPUT size="20" type="text" name="yourname">
<INPUT type="submit" name="submit" value="送信">
<INPUT type="submit" name="reset" value="RESET">
</FORM>

-- who.php (phpタグ内のみ)---
1  <?php
2  $who = $_POST['yourname'] ;
3  if($who== "kawai"){
4  print($who."さんですね\n");
5  }elseif($who== "yamada"){
6  print("こんにちは".$who."さん。\n");
7  }elseif($who== "田中\n"){
8  print("お久しぶりです、".$who."さん。\n");
9  }else{print($who."さん、はじめまして。\n");
10 }
11 ?>

名前欄にkawai,yamada,その他をタイプして送信した場合は
望み通りの結果が得られます。
が、田中だと「田中さん、はじめまして。」
となってしまうんです。。
上記のphpに変数の中身を確認するために「 print ($who."\n"); 」
 2行目の下に書き足した場合その部分は日本語でも入力通り表示されます。
また2行目を 「 $who = "田中";」とした場合は、「お久しぶりです、田中さん。」
とうまく処理されます。
が、フォームの変数に日本語がある場合、elseifなどで分岐させようとしても、
上記のように必ずelseまで飛んでしまいます。

何かお気づきの方、宜しくお願いいたします。
php.iniは変更してません。

マツ
eaald702@mkc.zaq.ne.jp