MySQL Collation utf8_unicode відмінності


10

Але я читав про важливість MySQL Collation, і те, що я довідався про сумісність та точність, - це 4 найкращих ставки.

  • utf8_unicode_ci
  • utf8_unicode_520_ci
  • utf8mb4_unicode_ci
  • utf8mb4_unicode_520_ci

З мого розуміння, uft8mb4 було б добре для персонажа з підтримкою мови mutli (характер) (наприклад, японською). uf8 підтримує лише 3 байти, тоді як uf8mb4 підтримує 4 байти. Тож здається, що очевидним вибором буде uf8mb4, але здається, що у вас є обмеження довжини (Чорт забираю! Я хочу, щоб мій пиріг і його теж їли), що мало хвилює (я думаю).

Тоді ви враховуєте про стандарт 520; що пропонує більше, від того, що мало що я міг би знайти на ньому. Але це, звичайно, питання, я міг знайти про це дуже мало. Тільки що люди кажуть, що це поліпшення, але дуже розпливчасте, як це відбувається.

Я хочу, щоб найбільше я міг отримати якомога менше обмежень ... Я зрозумів, що хтось тут може знати щось або дві. Офіційний сайт MySQL був не таким інформативним, як я сподівався.

З 4-х, які б пропонували найбільш сумісність, точність та саму тривалість зберігання? Також у чому справді велика різниця між стандартом 502?

Відповіді:


10

Імена зіставлення Unicode можуть містити номер версії, щоб вказати версію алгоритму зібрання Unicode (UCA), на якій базується порівняння. УБА на основі зіставлення без номера версії в назві використовують ті version-4.0.0ключі ваги UCA . Назва порівняння utf8_unicode_520_ciзаснована на вагових клавішах UCA 5.2.0 .

Дивіться https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html .


Для подальшого пояснення цього: зіставлення не змінить використовуване кодування (те, що MySQL неправильно називає character setабо charset), тому utf8надасть вам 3-байтовий (нестандартний) UTF-8 і utf8mb4надасть вам 4-байтовий UTF-8.
jynus

1
Тож у простому англійському мові чим різниця між UCA 4.0.0 та UCA 5.2.0, крім однієї, є новішою. Якою була б перевага чи недолік?
Адам,

4
Це впливає на сортування. Якщо вам абсолютно потрібно зіставити з більш новітньою (але все ще застарілою) версією стандарту Unicode, можливо, ви захочете використовувати 520_ci. Для моїх веб-сайтів я не міг менше піклуватися
Mathias Bynens

який розмір байтів найбільшого символу розміру байта в utf8mb4_unicode_520_ciпорівнянні?
oldboy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.