utf8mb4_0900_ai_ci 作用简介

Linux领域 > 建站 文章作者:运维小哥 2020-04-01 10:58 阅读: loading...

讲在前,如果出现导入数据库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 语言特性类集

    LanguageCollation
    Croatianutf8mb4_hr_0900_ai_ci
    Czechutf8mb4_cs_0900_ai_ci
    Danishutf8mb4_da_0900_ai_ci
    Esperantoutf8mb4_eo_0900_ai_ci
    Estonianutf8mb4_et_0900_ai_ci
    German phone book orderutf8mb4_de_pb_0900_ai_ci
    Hungarianutf8mb4_hu_0900_ai_ci
    Icelandicutf8mb4_is_0900_ai_ci
    Latvianutf8mb4_lv_0900_ai_ci
    Lithuanianutf8mb4_lt_0900_ai_ci
    Polishutf8mb4_pl_0900_ai_ci
    Classical Latinutf8mb4_la_0900_ai_ci
    Romanianutf8mb4_ro_0900_ai_ci
    Slovakutf8mb4_sk_0900_ai_ci
    Slovenianutf8mb4_sl_0900_ai_ci
    Modern Spanishutf8mb4_es_0900_ai_ci
    Traditional Spanishutf8mb4_es_trad_0900_ai_ci
    Swedishutf8mb4_sv_0900_ai_ci
    Turkishutf8mb4_tr_0900_ai_ci
    Vietnameseutf8mb4_vi_0900_ai_ci

    utf8mb4_0900_ai_ci 还可以用作下表语言中的不区分重音、不区分大小写的归类。

    表2 utf8mb4_0900_ai_ci 适用语言

    语言名语言编码
    German (dictionary order)de
    Englishen
    Canadian French (locale fr_CA)fr
    Irish Gaelicga
    Indonesianid
    Italianit
    Luxembourgianlb
    Malayms
    Dutchnl
    Portuguesept
    Swahilisw
    Zuluzu

    utf8mb4_da_0900_ai_ci 也可以在下表所列的语言中支持不区分重音、不区分大小写。

    表3 utf8mb4_da_0900_ai_ci 适用的语言

    语言名语言代码
    Norwegianno
    Norwegian Bokmålnb
    Norwegian Nynorsknn

    独立于特定语言的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 算法构建。

      • 对于独立于特定语言的排序字符集,缩写的字符序列被视为单独的字符串。对于基于特定语言的排序字符集,缩写可能改变字符排序顺序。


    评论 点击评论