您的位置:首页 > 数据库 > MySQL

à和a mysql大小写不敏感,也不区分这个

2015-06-26 11:33 525 查看
今天遇到了个问题,基本调试了一整天,痛苦啊,现在才找到问题所在。

我的内存中有个Map,key是title,mysql查询时不区分大小写的,所有title都转变为了大写。

我根据title去数据库中查数据,包装为一个对象,然后根据对象的title从map中取出数据,按理说是不应该取不到的,但有一条就是死活说map中没有这个key值,这条数据的标题是“BENCHMARKING SPATIAL JOINS A LA CARTE”。

然后我把map中所有的key打印了出来,查询确实没有这个title,但有一条很相似的“BENCHMARKING SPATIAL JOINS à LA CARTE”。

我把他们放到一块,好看清区别:



也就是mysql查询时不但不区分大小写,而且也不区分à和a。

而且我发现在Chorme上用ctrl+f搜索是也不区分这两个字符:



在猎豹是是区分的:



为什么啊??

我在PilotEdit中查了查着几个字符的编码,如下:





这应该是GBK编码。

下面我去查一查,mysql查询时大小写不敏感,看看能找到什么。先保存下。2015.06.25 17:32

找到答案了,参考:

http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html(答案这在)
http://stackoverflow.com/questions/3936967/mysql-case-insensitive-select (从这找到答案入口)

http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html (这个可以了解下)

我决定翻译下http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html,以加深理解。先保存下,下班了2015.06.25 18:11

参考:

http://www.w3school.com.cn/tags/html_ref_entities.html
http://baike.baidu.com/link?url=9IftfCW40_zPcZzw4jJQFdIdoC0Aa-eEntfytPFnGFB9GO9np5Q7cX1eYRFykkdkXHEnjhE6gdfijwPkvflmY_
http://blog.xieyc.com/common-code-standard-unicode-utf-iso-8859-1-etc/
https://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html
http://collation-charts.org/mysql60/mysql604.latin1_swedish_ci.html
简单修改了下程序,感觉还有很多要看的,先告一段落吧。2015.06.26 11:33
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: