Mysql керівництво професіонала

Зверніть увагу, що в об'єднаннях ucs2_roman_ci і utf8_roman_ci I і J вважаються еквівалентними, так само як і пара U і V.

Об'єднання ucs2_hungarian_ci і utf8_hungarian_ci були додані в MySQL 5.1.5.

MySQL здійснює об'єднання utf8_unicode_ci згідно Unicode Collation Algorithm (UCA), описаного на. Об'єднання використовує version-4.0.0 UCA weight keys. Наступне обговорення використовує utf8_unicode_ci, але це також вірно і для ucs2_unicode_ci.

В даний час об'єднання utf8_unicode_ci має тільки часткову підтримку для Unicode Collation Algorithm. Деякі символи все ж не забезпечуються. Також повністю не забезпечується об'єднання міток. Це впливає насамперед на в'єтнамський і деякі малопоширені мови в Росії, типу Udmurt, Tatar, Bashkir і Mari.

Старше властивість в utf8_unicode_ci: це підтримує розширення, тобто коли один символ порівнюється як рівний комбінаціям інших символів. Наприклад, в німецькому і деяких інших мовах ├Я дорівнює ss.

utf8_general_ci об'єднання, яке не підтримує розширення. Це може робити тільки взаємно-однозначні порівняння між символами. Це означає, що порівняння для об'єднання utf8_general_ci швидше, але трохи менше правильні, ніж порівняння для utf8_unicode_ci.

Наприклад, такі рівності вірні в utf8_general_ci і в utf8_unicode_ci:

Різниця між об'єднаннями: це є істинним для utf8_general_ci:

У той час, як це істинно для utf8_unicode_ci:

MySQL здійснює специфічні для мови об'єднання для набору символів utf8 тільки, якщо впорядкування з utf8_unicode_ci не працює добре для мови. Наприклад, utf8_unicode_ci працює прекрасно для German і French, а значить немає ніякої потреби створювати спеціальні об'єднання utf8 для цих двох мов.

utf8_general_ci також задовільний для German і French за винятком того, що ├Я одно s, але ss. Якщо це прийнятно для вашої прикладної програми, то застосовуйте utf8_general_ci, тому що це швидше. Інакше, використовуйте utf8_unicode_ci, тому що це більш точно.

utf8_swedish_ci, подібно до інших специфічним для мови об'єднанням utf8, отриманий з utf8_unicode_ci з додатковими правилами мови. Наприклад, в Swedish наступні зв'язку зберігання, які непридатні для German або French:

Об'єднання utf8_spanish_ci і utf8_spanish2_ci відповідають сучасному і традиційному іспанському, відповідно. В обох об'єднаннях ├▒ (n-tilde) окремий символ між n і o. Крім того, для традііонного іспанського ch окремий символ між c і d, а ll окремий символ між l і m

Західноєвропейські набори символів покривають більшість західноєвропейських мов, типу French, Spanish, Catalan, Basque, Portuguese, Italian, Albanian, Dutch, German, Danish, Swedish, Norwegian, Finnish, Faroese, Icelandic, Irish, Scottish та English.

Об'єднання ascii (US ASCII):

ascii_general_ci (значення за замовчуванням)

Об'єднання cp850 (DOS West European):

cp850_general_ci (значення за замовчуванням)