我想要一个UTF8排序规则来支持:
UTF8_GENERAL_CI
是否支持所有这些语言?
答案 0 :(得分:32)
是的,这是正确的。 UTF-8是Unicode字符集的编码,它支持世界上几乎所有语言。
我认为唯一的区别在于对结果进行排序,不同的字母可能会以不同的顺序出现在其他语言中(重音符号,变音符号等)。此外,将a
与ä
进行比较可能会在另一种排序规则中有所不同。
_ci
后缀表示排序和比较不区分大小写。
答案 1 :(得分:1)
UTF8_GENERAL_CI
是一个不错的决定。现在有一些缺点。
MySQL的UTF8实际上使用3个字节而不是4个字节,您需要用4个字节来表示表情符号和新的亚洲字符。
因此,MySQL有一个更新的字符集,称为 utf8mb4 ,它实际上符合UTF8定义。
要完全支持亚洲语言,您需要选择utf8mb4。
如果您关心多种语言的正确排序,请使用utf8mb4_unicode
或utf8mb4_unicode_ci
代替常规语言。
您可以在What's the difference between utf8_general_ci and utf8_unicode_ci
中找到更详细的答案