MySQL排序规则最适合接受所有unicode字符?

时间:2013-01-15 00:34:41

标签: mysql collation

我们的列目前已归类为latin1_swedish_ci,显然,特殊的unicode字符已被删除。我们希望能够接受诸如U+272A ✪U+2764 ❤之类的字符,(请参阅this wikipedia article)等。我倾向于utf8_unicode_ci,这个校对会处理这些和其他吗?字符?我不关心速度,因为这个列不是索引。

MySQL版本:5.5.28-1

1 个答案:

答案 0 :(得分:26)

排序规则是您最不担心的问题,您需要考虑的是列/表/数据库的字符集。整理(管理数据如何比较排序的规则)只是其中的必然结果。

MySQL支持多个Unicode字符集,utf8utf8mb4是最有趣的。 utf8支持BMP中的Unicode字符,即所有Unicode的子集。自MySQL 5.5.3起可用的utf8mb4支持所有的Unicode。

与任何Unicode编码一起使用的归类很可能是xxx_general_cixxx_unicode_ci。前者是一种独立于语言的通用排序和比较算法,后者是一种更完整的语言独立算法,支持更多Unicode功能(例如将“ß”和“ss”视为等效),但因此也慢了。

请参阅https://dev.mysql.com/doc/refman/5.5/en/charset-unicode-sets.html