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 наборы сравнения
сохраняют порядок упорядочивания, существовавший до 5.1.24, в исходных наборах сравненияxxx_general_mysql500_ciи позволяют выполнять обновления для таблиц, созданных до MySQL 5.1.24 (Ошибка #27877).xxx_general_ci
© 2025 Oracle
Licensed under the GPLv2 License.