为通用字符选择表排序规则

8mmmxcuj  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(354)

我正在开发一个需要存储通用字符的后端。
我选择了 utf8mb4 表编码。我还要选择表排序。
最直接的选择是 utf8mb4_general_ci 表排序规则。除了一般的校勘,还有大约20种校勘可供选择。。更具体的目的是什么?做 utf8mb4_general_ci 或者也许 utf8mb4_unicode520_ci 覆盖所有的?如果我想存储从中文到阿拉伯的各种字符,我应该使用哪一个呢。

irtuqstp

irtuqstp1#

...general_ci 很简单。它不等同于两个字符的组合(如与非间距标记)与单字符等效。 ...unicode_520_ci 来自unicode版本5.20,这是mysql开发的最新版本。它可以处理一些事情,比如为emoji排序,而以前的版本没有。
对于mysql 8.0,首选的排序规则是 utf8mb4_0900_ai_ci ,基于unicode 9.0。 ...<language>_ci 处理给定语言中的变体。例如,应该 ch 以及 ll 在西班牙语中被视为“字母”并在两者之间排序 cz 以及 d ,和 lz 以及 m .
对于一般用途,请勿使用 ...general_ci ,使用从unicode派生的最新版本。对于特定于语言的情况,请选择其他排序规则之一。
我知道中文和阿拉伯文是如何(甚至是是否)在不同的排序规则中有不同的排序。不过,我明白了 ...persion_ci ,所以我怀疑有问题。
使用 utf8mb4 ,不是 utf8 尤其是你需要中文。

相关问题