日期:2014-05-16  浏览次数:20677 次

mysql中文模糊查询遇到的问题,各位救急啊!
我现在在mysql上遇到一个问题,我们的字符集是gb2312.在中文模糊查找时,会有不相关的结果集.你有没有好的办法解决啊?


http://www.99net.net/study/prog/68101226.htm是这个问题,但是这个上面说的方法解决不了问题

其一,加字段属性binary(),  
其二,改my.cfg启动参数为default-character-set   =gbk(或gb2312).  
这些我都做了。
我从问题的根本原因分析,还有下面的问题。
例:  
汉字“不”的第1、2字节ascii值分别为:178与187  
汉字“安”的第1、2字节ascii值分别为:176与178  
汉字“花”的第1、2字节ascii值分别为:187与168  
聪明的人已经看出来了:在字符串“安花”中模糊查找字符“不”字时,mysql系统也会认为两者匹配!  
我的mysql-4.0.12没有解决上述问题。针对以上问题,各位高手有何解决办法!!!一起来说一说!




------解决方案--------------------

MARK

我也遇到过这种问题,但还没有解决
------解决方案--------------------
查询的字段前加banary
------解决方案--------------------
http://www.phpmore.com/?u=tech_display&id=78

------解决方案--------------------
select name from table where name like binary '% ".$keyword. "% '
------解决方案--------------------
我就这样做的没什么问题呀