您应该使用Unicode排序规则。您可以在系统上默认设置它,也可以在表格的每个字段中设置它。有以下Unicode排序规则名称,这是它们的区别:
utf8_general_ci是一个非常简单的排序规则。它只是 - 删除所有口音 - 然后转换为大写 并使用此类“基本字母”结果字母的代码进行比较。
utf8_unicode_ci使用默认的Unicode排序规则元素表。
的主要区别是:
utf8_unicode_ci支持所谓的扩展和连字,例如:德语字母ß(U + 00DF LETTER SHARP S)的附近 “SS” 的信OE(U + 0152 LATIN排序CAPITAL LIGATURE OE)在“OE”附近排序。
utf8_general_ci不支持扩展/连字,它将所有这些字母排序为单个字符,有时按错误的顺序排列。
utf8_unicode_ci是一般对于所有脚本更准确。例如,在西里尔文块上:utf8_unicode_ci适用于所有这些语言:俄语,保加利亚语,白俄罗斯语,马其顿语,塞尔维亚语和乌克兰语。虽然utf8_general_ci只适用于俄罗斯和保加利亚的西里尔语子集。白俄罗斯语,马其顿语,塞尔维亚语和乌克兰语使用的额外字母排序不正确。
+/- utf8_unicode_ci的缺点是它比utf8_general_ci慢了一点。
因此,如果您知道或不知道您要使用哪些特定语言/字符,我建议您使用utf8_unicode_ci,它具有更广泛的覆盖范围。