コメントされたし、まとめておこう。
PHPでは通常/usr/local/bin/php.iniで日本語の設定をしています。
が、何もしていない場合日本語用の設定はしてありません。
まず、これを指定する必要があります。
また、PHPは通常LinuxなどのUNIX系サーバーで動かすので日本語エンコードはUNIX系のEUCが多いです。で、クライアントは普通WindowsなのでShift-Jis。
なので文字化けではまったり、日本語の比較で動かないということが多かったりするのです。
もう一つ。
また、PHPでは日本語の設定が以下の4つあることに注意しておくべきでしょう。
いわく
- mbstring.http_input ブラウザから入力される文字のエンコード
- mbstring.http_output ブラウザに出力するときの文字のエンコード
- mbstring.internal_encoding PHP内で使用する文字のエンコード
- mbstring.script_encoding PHPスクリプトを書くときに使用する文字エンコード
です。
これをちゃんと設定しておかないとはまります。
詳しくは、http://www.php.net/manual/ja/ref.mbstring.php を参照のこと
ってことで