使用UTF8字符的MySQL不正确的顺序

时间:2013-06-05 10:35:15

标签: mysql utf-8

我有一个包含字段name的表格,该表格位于utf8_general_ci。当我运行此查询SELECT name FROM users ORDER BY name ASC时,我得到了一些奇怪的结果。字母'S'后面出现特殊字母'Š',这是正确的,但在'Š'之后出现更多字母'S',应该在此之前。除此之外,结果还不错。为什么这样的排序是这样的,我应该如何解决?

1 个答案:

答案 0 :(得分:1)

utf8_general_ci排序规则认为字母的所有变体都相等。如果要将S和Š视为不同的字母,则必须使用二进制排序规则(utf8_bin)或基于国家标准的排序规则(例如utf8_czech_ci)。