Spec-Zone .ru
спецификации, руководства, описания, API
|
Набор символов является рядом символов и кодировок. Сопоставление является рядом правил для того, чтобы сравнить символы в наборе символов. Давайте ясно дадим понять различие с примером воображаемого набора символов.
Предположите, что у нас есть алфавит с четырьмя буквами:"A
", "B
", "a
", "b
". Мы даем каждой букве число:"A
" = 0, "B
" = 1, "a
" = 2, "b
"= 3. Буква"A
"символ, номер 0 является кодированием
для"A
", и
комбинация всех четырех букв и их кодировок является набором символов.
Предположите, что мы хотим сравнить два строковых значения,"A
"и"B
". Самый простой способ сделать это должно смотреть на кодировки:
0 для"A
"и 1
для"B
". Поскольку 0
меньше чем 1, мы говорим"A
"меньше
чем"B
". То, что мы
только что сделали, применяют сопоставление к нашему набору символов. Сопоставление является рядом правил
(только одно правило в этом случае): "сравните кодировки."
Мы вызываем это самое простое из всех возможных сопоставлений двоичное сопоставление.
Но что, если мы хотим сказать, что строчные и прописные буквы эквивалентны? Затем у нас было бы по крайней мере
два правила: (1) обрабатывают строчные буквы"a
"и"b
"как
эквивалентный"A
"и"B
"; (2) тогда сравнивают кодировки. Мы вызываем это нечувствительное к регистру сопоставление. Это немного более сложно чем двоичное
сопоставление.
В действительности у большинства наборов символов есть много символов: не только"A
"и"B
"но целые алфавиты, иногда многократные
алфавиты или восточные системы письменности с тысячами символов, наряду со многими специальными символами и
знаками препинания. Также в действительности, у большинства сопоставлений есть много правил, не только для того,
отличить ли lettercase, но также и для того, отличить ли диакритические знаки ("диакритический знак" является меткой, присоединенной к символу
как на немецком языке"Ö
"), и для многократно-символьных отображений (таких как
правило это"Ö
" =
"OE
"в одном из двух
немецких сопоставлений).
MySQL может сделать эти вещи для Вас:
Строки хранилища, используя множество наборов символов.
Сравните строки, используя множество сопоставлений.
Соединение представляет в виде строки с различными наборами символов или сопоставлениями в том же самом сервере, той же самой базе данных, или даже той же самой таблице.
Включите спецификации набора символов и сопоставления на любом уровне.
В этих отношениях MySQL далек перед большинством других систем управления базами данных. Однако, чтобы использовать эти функции эффективно, Вы должны знать, какие наборы символов и сопоставления доступны, как изменить значения по умолчанию, и как они влияют на поведение строковых операторов и функций.