mysql字段的collation默认规则在多语言环境下的有关问题

mysql字段的collation默认规则在多语言环境下的问题

同事碰到的一个诡异问题,挺有意思的..开始以为是索引的问题,后来才发现是collation的问题

问题描述如下:

在mysql表keywords对keyword字段进行查询,SQL为

select * from keywords where keyword = ‘latigos’

匹配出2条结果,但是2条结果的keyword字段是不一样的,分别是:

latigos、látigos

原因是DBA对mysql字段的collation规则默认是utf8_general_ci,表示字符串比对忽略大小写和音标,解决方案是修改成utf8_bin这个类型就可以精确匹配,关于这几种type的区别,详细见下面链接:

http://www.crtgen.com/2011/04/15/the-difference-between-utf8_general_ci-utf8_unicode_ci-utf8_bin/

mysql字段的collation默认规则在多语言环境下的有关问题

相关文章:

你感兴趣的文章:

标签云: