一个搞笑的问题,select * from sinodictionary where Chinese='我'; 设置chinese字段属性为binary或:select * from sinodictionary where Chinese= binary '我'; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢随风的回答,我还有一点疑问,为什么会出现这样的问题呢?为什么加上binary就可以解决呢?起初我认为是Chinese字段里长度为2的都会被select出来,但我用下面的语句测试select count(*) from `yiba`.`sinodictionary` where length(Chinese)=2;和select count(*) from `yiba`.`sinodictionary` where Chinese='我';得到的结果相差很大,证明猜测是错的,后来我认为可能是编码的原因,汉字: 我GBK: CED2UNICODE 6211王码86 TRNT拼音 WO汉字: 握GBK: CED5UNICODE 63E1王码86 RNGF拼音 WO OU汉字: 煲GBK: ECD2UNICODE 7172王码86 WKSO拼音 BAO **************汉字: 呵GBK: BAC7UNICODE 5475王码86 KSKG拼音 KE A 其中:“我”、“握”、“煲”是会一起出现的,“呵”不会出现。我观察了它们的编码,发现没有理由语句select * from sinodictionary where Chinese='我';会把“握”、“煲”这些字都一起显示出来!大家帮忙在看看! MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集(不是你上面列的字符集),因此在比较过程中中文编码字符大小写转换造成了这种现象。如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。加binary属性使之作为二进制比较,这个是能具体区分的 在mysql 的存储过程中如何实现with nolock功能 MySQL實現兩個數據庫同步問題 急~!内网MYSQL数据库无法访问 php+mysql的批量更新 mysqldump .... sql查询问题:得到顾客评论商品的频率。 SQL查询问题 ?请问怎样在mysql下建立一个库 在web开发中,MySQL通常是怎样使用的? MySql的中文排序问题 请教,关于mySQL网络连接的问题! mysql问题
我还有一点疑问,为什么会出现这样的问题呢?为什么加上binary就可以解决呢?起初我认为是Chinese字段里长度为2的都会被select出来,
但我用下面的语句测试
select count(*) from `yiba`.`sinodictionary` where length(Chinese)=2;
和
select count(*) from `yiba`.`sinodictionary` where Chinese='我';
得到的结果相差很大,证明猜测是错的,后来我认为可能是编码的原因,
汉字: 我
GBK: CED2
UNICODE 6211
王码86 TRNT
拼音 WO汉字: 握
GBK: CED5
UNICODE 63E1
王码86 RNGF
拼音 WO OU汉字: 煲
GBK: ECD2
UNICODE 7172
王码86 WKSO
拼音 BAO
**************
汉字: 呵
GBK: BAC7
UNICODE 5475
王码86 KSKG
拼音 KE A 其中:“我”、“握”、“煲”是会一起出现的,“呵”不会出现。
我观察了它们的编码,发现没有理由语句
select * from sinodictionary where Chinese='我';
会把“握”、“煲”这些字都一起显示出来!大家帮忙在看看!
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。加binary属性使之作为二进制比较,这个是能具体区分的