[PHP-users 28636] utf8,MySQLでwhere句が効かない
キャスターマイルド
caster_mild_49401219 @ hotmail.com
2006年 3月 6日 (月) 22:42:34 JST
こんばんは、キャスターマイルドです。
CentOS 4.2
PHP 4.3.9
MySQL 4.1.12
以上の環境で開発しています。
phpのソースは、utf-8(bom無し)です。
mysql_select_db後、
$strcodeSQL = 'SET NAMES utf8;';
mysql_query($strcodeSQL);
というSQL文を送っています。
さて、このとき、
phpから、sql文を打ってselectするとき、シンプルな
$sql = 'SELECT * FROM example';
というSQL文ならスムーズに結果が返ってくるのですが、
$sql = 'SELECT * FROM example WHERE column1 = \'test\'';
このようなWHERE文を入れると、何も結果が返ってきません。
このSQL文を、コマンドラインやphpMyAdmin上で実行すると、
思い通りの結果が返ってきます。
DBのCreate時のDefaultCharaSetは、
utf8_unicode_ci
utf8_general_ci
utf8_bin
の3種類を試しまたが、どれも思い通りの結果が返ってきません。
これらを、ソースをsjisやeucに変更し、
DBのCharaSetをそれぞれの文字コードで作成してやると
思い通りの結果が返ってきます。
解決方法をご存じの方がいらっしゃいましたら、
ご教授願います。
--
キャスターマイルド <caster_mild_49401219 @ hotmail.com>
PHP-users メーリングリストの案内