Spec-Zone.ru › MySQL 8.4

12.3.1 Правила именования наборов сравнений

Имена наборов сравнений MySQL следуют этим правилам:

  • Имя набора сравнения начинается с имени набора символов, с которым он связан, за которым обычно следуют один или несколько суффиксов, указывающих на другие характеристики набора сравнения. Например, utf8mb4_0900_ai_ci и latin1_swedish_ci являются наборами сравнения для наборов символов utf8mb4 и latin1 соответственно. Набор символов binary имеет единственный набор сравнения, также именуемый binary, без суффиксов.

  • Набор сравнения, специфичный для языка, включает код региональных настроек или название языка. Например, utf8mb4_tr_0900_ai_ci и utf8mb4_hu_0900_ai_ci сортируют символы набора символов utf8mb4 по правилам турецкого и венгерского языков соответственно. utf8mb4_turkish_ci и utf8mb4_hungarian_ci аналогичны, но основаны на менее поздней версии алгоритма сортировки Unicode.

  • Суффиксы наборов сравнения указывают, является ли набор сравнения регистрозависимым, зависимым от ударений, зависимым от каны (или их комбинацией) или двоичным. Следующая таблица показывает суффиксы, используемые для обозначения этих характеристик.

    Таблица 12.1 Значения суффиксов наборов сравнения

    Таблица 12.1 Значения суффиксов наборов сравнения
    Суффикс Значение
    _ai Нечувствительность к ударениям
    _as Чувствительность к ударениям
    _ci Нечувствительность к регистру
    _cs Чувствительность к регистру
    _ks Чувствительность к кане
    _bin Двоичный

    Для недвоичных имен наборов сравнения, не указывающих чувствительность к ударениям, она определяется чувствительностью к регистру. Если имя набора сравнения не содержит _ai или _as, _ci в имени подразумевает _ai, а _cs в имени подразумевает _as. Например, latin1_general_ci явно нечувствителен к регистру и неявно нечувствителен к ударениям, latin1_general_cs явно чувствителен к регистру и неявно чувствителен к ударениям, а utf8mb4_0900_ai_ci явно нечувствителен к регистру и нечувствителен к ударениям.

    Для японских наборов сравнения суффикс _ks указывает, что набор сравнения чувствителен к кане, то есть он различает символы катакана и хирагана. Японские наборы сравнения без суффикса _ks не чувствительны к кане и рассматривают символы катакана и хирагана как равные при сортировке.

    Для набора сравнения binary набора символов binary сравнения основаны на числовых байтовых значениях. Для набора сравнения _bin набора символов, отличного от двоичного, сравнения основаны на числовых значениях кодов символов, которые отличаются от байтовых значений для многобайтовых символов. Сведения о различиях между набором сравнения binary набора символов binary и наборами сравнения _bin для наборов символов, отличных от двоичного, см. в Разделе 12.8.5, «Сравнение двоичного набора сравнения с _bin наборами сравнения».

  • Имена наборов сравнения для наборов символов Unicode могут включать номер версии, чтобы указать версию алгоритма сортировки Unicode (UCA), на которой основан набор сравнения. Наборы сравнения на основе UCA без номера версии в имени используют ключи весов UCA версии 4.0.0. Например:

    • utf8mb4_0900_ai_ci основан на ключах весов UCA 9.0.0 (http://www.unicode.org/Public/UCA/9.0.0/allkeys.txt).

    • utf8mb4_unicode_520_ci основан на ключах весов UCA 5.2.0 (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt).

    • utf8mb4_unicode_ci (без указания версии) основан на ключах весов UCA 4.0.0 (http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt).

  • Для наборов символов Unicode наборы сравнения xxx_general_mysql500_ci сохраняют порядок упорядочивания, существовавший до 5.1.24, в исходных наборах сравнения xxx_general_ci и позволяют выполнять обновления для таблиц, созданных до MySQL 5.1.24 (Ошибка #27877).

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/charset-collation-names.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API