所有语言的Mysql排序规则

时间:2009-09-20 11:40:29

标签: mysql collation

我目前正在开发一个网站,它将展示世界上几乎所有语言的内容。我在选择要在mysql中定义的最佳排序规则时遇到问题。

哪一个最能支持所有角色?还是最准确的???

或者最好将所有字符转换为unicode?

感谢

4 个答案:

答案 0 :(得分:18)

我通常使用8位UCS / Unicode转换格式,适用于任何(最好的)语言

utf8_general_ci

http://dev.mysql.com/doc/refman/5.0/en/charset-unicode.html

答案 1 :(得分:3)

接受的答案是错误的(也许在2009年是正确的)。

utf8mb4_unicode_ci是用于广泛语言支持的最佳编码。

理由和佐证:

  

您要使用utf8mb4而不是utf8,因为后者仅支持3个字节的字符,并且您希望支持4个字节的字符。 (ref)

  

您要使用unicode而不是general,因为后者从未正确排序。 (ref)

答案 2 :(得分:0)

使用utf8mb4代替utf8

utf8mb4_general_ci => support 1, 2, 3 or 4 bytes

utf8_general_ci or utf8mb3_general_ci => support 1, 2 or 3 bytes

它会根据需要占用你的磁盘空间。

答案 3 :(得分:0)

使用 utf8mb4_unicode_ci 或 utf8mb4_general_ci 可能会很棘手并导致意外行为。

注意。

如果您想避免下面这种情况,utf8mb4_unicode_bin 可能是一个不错的选择。

enter image description here