mysql如何支持中文模糊查询

mysql如何支持中文模糊查询

redhat linux+php++mysql如何支持中文模糊查询

例如输入

select * from tablename where field like "%侯%"

返回结果既包括"侯",也包括"何"等无关结果.

请问无何解决?

万分感谢!!      
问题解决了:


出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,

一种解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。

方法二

  如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。


方法三
在配置文件中的[mysqld]下面加入,或更改
default-character-set = gb2312
注意:配置文件在win32是c:\winnt\my.ini ;在unix\linux下是\etc\my.cnf      
查询仍然不准!

我的是redhat9.0
mysql是默认的。

我在文件\etc\my.cnf 里加入 default-character-set = gb2312

不起作用。

我用“包含中文的字段加上"binary"属性...,”也不行。

难道只能重新编译MySQL吗?

如果这样,我的apache和php是不是都要同时重新装?      
用的是like   ,当然是模糊查询啊,,, 不准是正常的, 不正确就不正常了      
我重新编译过可还是不行!
网上介绍的方法我都试过仍然查询不正确!

大家都是怎么解决此问题的,谁能给出个亲身应用过的解决方法!