为通用字符选择表格排序

时间:2018-05-09 08:55:03

标签: mysql mariadb collation

我正在研究需要存储通用字符的后端。

为此,我选择了utf8mb4表格编码。我还必须选择Table Collat​​ion。

最直接的选择是选择utf8mb4_general_ci表格排序。除了一般的一个,还有大约20个其他的排序规则可供选择。更具体的目的是什么? utf8mb4_general_ciutf8mb4_unicode520_ci涵盖了所有这些内容吗?如果我想存储从中文到阿拉伯语的各种字符,我应该使用哪一个。

1 个答案:

答案 0 :(得分:1)

  • ...general_ci很简单。它不会将2个字符的组合(例如非间距标记)与单个字符的等效组合等同。

  • ...unicode_520_ci来自Unicode版本5.20,这是当MySQL选择它时可用的最新版本。它处理的事情就像订购了表情符号,而以前的版本没有。

  • 使用MySQL 8.0,首选排序规则为utf8mb4_0900_ai_ci,基于Unicode 9.0。

  • ...<language>_ci处理给定语言中的变体。例如,西班牙语中的chll应该被视为&#34;字母&#34;并在czd以及lzm之间排序。

  • 对于一般用途,请勿使用...general_ci,使用从Unicode派生的最新版本。对于语言特定的情况,请选择其他一种排序规则。

  • 我知道在不同的排序规则中,中文和阿拉伯语的排序方式(甚至是否)有所不同。但是,我看到...persion_ci,所以我怀疑存在问题。

  • 请使用utf8mb4,而不是utf8,尤其是因为您需要中文。