Mysql中文搜索不准确的原因和解决办法
来源:百度文库 编辑:神马文学网 时间:2024/04/27 19:27:58
SELECT *? FROM `user`? WHERE `first_name` = '孟'? LIMIT 0 , 30
竟然会搜出一条 李 的记录来,上网查了查,原来是大小写和中文?字符集的问题
原因:
在默认情况下,Mysql的字符集是iso的,这样出现的第一个问题是,搜索一个汉字的时候,可能搜到其他的词,原因是前一个汉字的后半个字节和后一个汉字的前半个字节拼接起来正好是你搜的那个字。第二个问题是,Mysql对大小写并不是敏感的,就是说?A和a是一样的,孟和李的前一个字节正好是被Mysql认为是大小写相同的字符,所以搜孟时,会出现李。
解决方案:
1 将mysql的字符集改为gbk
2 将要进行中文搜索的字段加上binary属性
3 使用Blob
Mysql中文搜索不准确的原因和解决办法
上课注意力不集中的原因解决办法
数据库出现乱码的原因和解决办法
小腿抽筋的原因和解决办法
<小腿抽筋的原因和解决办法>
小腿抽筋的原因和解决办法a
小腿抽筋的原因和解决办法
上课注意力不集中的原因及解决办法
上课注意力不集中的原因及解决办法
上课注意力不集中的原因及解决办法
Mysql “Can’t connect to local MySQL server” 的解决办法
百度最近收录减少的原因和解决办法!
电脑不能上网的常见原因和解决办法
孩子好哭的原因、引导和解决办法
孩子好哭的原因、引导和解决办法
百度最近收录减少的原因和解决办法!
IE不能上网浏览的原因和解决办法
电脑开不了机的原因和解决办法
电脑开不了机的原因和解决办法1
电脑开不了机的原因和解决办法2
电脑不能上网的常见原因和解决办法
几种电脑速度变慢的原因和解决办法
电脑不能上网的常见原因和解决办法
unix中文宝库 - mysql 忘记口令的解决办法