utf8mb4_0900_ai_ci 作用简介
讲在前,如果出现导入数据库utf8mb4_0900_ai_ci错误,请移步到冒牌管理员写的错误《utf8mb4_0900_ai_ci 错误的解决方案》
字符集支持
utf8mb4 Unicode 字符集一个新的通用排序归类,被命名为 utf8mb4_0900_ai_ci。 utf8mb4 还有几个新的特定于语言的归类,其特征类似于utf8mb4_0900_ai_ci,但特定于语言的归类优先适用。语言特性的归类才用了类似于 ISO 639-1 语言编码相似的归类名,正如下表所示。有两种情况语言编码名字组成有额外变量( German phone book order, Traditional Spanish)。
表1 utf8mb4 UCA9.0.0 语言特性类集
Language | Collation |
---|---|
Croatian | utf8mb4_hr_0900_ai_ci |
Czech | utf8mb4_cs_0900_ai_ci |
Danish | utf8mb4_da_0900_ai_ci |
Esperanto | utf8mb4_eo_0900_ai_ci |
Estonian | utf8mb4_et_0900_ai_ci |
German phone book order | utf8mb4_de_pb_0900_ai_ci |
Hungarian | utf8mb4_hu_0900_ai_ci |
Icelandic | utf8mb4_is_0900_ai_ci |
Latvian | utf8mb4_lv_0900_ai_ci |
Lithuanian | utf8mb4_lt_0900_ai_ci |
Polish | utf8mb4_pl_0900_ai_ci |
Classical Latin | utf8mb4_la_0900_ai_ci |
Romanian | utf8mb4_ro_0900_ai_ci |
Slovak | utf8mb4_sk_0900_ai_ci |
Slovenian | utf8mb4_sl_0900_ai_ci |
Modern Spanish | utf8mb4_es_0900_ai_ci |
Traditional Spanish | utf8mb4_es_trad_0900_ai_ci |
Swedish | utf8mb4_sv_0900_ai_ci |
Turkish | utf8mb4_tr_0900_ai_ci |
Vietnamese | utf8mb4_vi_0900_ai_ci |
utf8mb4_0900_ai_ci 还可以用作下表语言中的不区分重音、不区分大小写的归类。
表2 utf8mb4_0900_ai_ci 适用语言
语言名 | 语言编码 |
---|---|
German (dictionary order) | de |
English | en |
Canadian French (locale fr_CA) | fr |
Irish Gaelic | ga |
Indonesian | id |
Italian | it |
Luxembourgian | lb |
Malay | ms |
Dutch | nl |
Portuguese | pt |
Swahili | sw |
Zulu | zu |
utf8mb4_da_0900_ai_ci 也可以在下表所列的语言中支持不区分重音、不区分大小写。
表3 utf8mb4_da_0900_ai_ci 适用的语言
语言名 | 语言代码 |
---|---|
Norwegian | no |
Norwegian Bokmål | nb |
Norwegian Nynorsk | nn |
独立于特定语言的utf8mb4_0900_ai_ci和适用于特定语言的 utf8mb4_LANG_0900_ai_ci Unicode 排序归类都有如下特性:
排序归类不区分重音、不区分大小写,基于 Unicode Collation Algorithm(UCA) 9.0.0 和 Common Locale Data Repository(CLDR) v30。这些特性可从排序归类的名字组成中可以看出(_0900, _ai, _ci)。例外:utf8mb4_la_0900_ai_ci 不基于 CLDR 库因为 Classical Latin 没有在 CLDR 中定义。
排序归类集适用于字符范围 [U+0, U+10FFFF]。
如果排序字符集(与归类集一样,翻译者的主观喜好,译者注) 不是基于特定语言的,排序字符集会以默认顺序排序所有字符,包含补充字符。如果排序字符集基于特定语言的,其依据基于特定语言的规则进行排序能够适用的语言,不适用的语言仍按默认顺序。
排序字符集的默认顺序是:排序字符集基于 DUCET 表 (Default Unicode Collation Element Table, 默认统一编码排序集元素表) 根据字符编码在表中的权重进行排序。如果在 DUCET 表中没有对应权重值的字符编码,排序字符集将根据 UCA 算法构建。
对于独立于特定语言的排序字符集,缩写的字符序列被视为单独的字符串。对于基于特定语言的排序字符集,缩写可能改变字符排序顺序。
已获取点赞 +0
评论 点击评论