我有一个包含字段name
的表格,该表格位于utf8_general_ci
。当我运行此查询SELECT name FROM users ORDER BY name ASC
时,我得到了一些奇怪的结果。字母'S'后面出现特殊字母'Š',这是正确的,但在'Š'之后出现更多字母'S',应该在此之前。除此之外,结果还不错。为什么这样的排序是这样的,我应该如何解决?
答案 0 :(得分:1)
utf8_general_ci
排序规则认为字母的所有变体都相等。如果要将S和Š视为不同的字母,则必须使用二进制排序规则(utf8_bin
)或基于国家标准的排序规则(例如utf8_czech_ci
)。