页:
[1]
| hemaka | 2004-11-27 08:57 AM |
|
MySQL 中文问题,为什么我的MySQL '音欲'='挣扎'
在我的数据库中还有一些像这样在MySQL是一样的,但其实不一样的字段内容
我王,弦弦
大磊,大龙
羊羊羊,nonono
还有很多,不知是不是我的数据库设置问题 |
| hemaka | 2004-11-27 09:43 AM |
|
找到解决问题的方法了:
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可! |
Powered by Discuz! Archiver 6.1.0
© 2001-2006 Comsenz Inc.
Processed in 0.030068 second(s), 2 queries |