MySQL Collation utf8_unicode различия

10

Но я читал о важности MySQL Collation, и то, что я узнал до сих пор относительно совместимости и точности, - эти 4, кажется, моя лучшая ставка.

  • utf8_unicode_ci
  • utf8_unicode_520_ci
  • utf8mb4_unicode_ci
  • utf8mb4_unicode_520_ci

Насколько я понимаю, uft8mb4 подойдет для персонажей с поддержкой нескольких языков (символов) (например, японский). 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.
января
1
Таким образом, в простом английском языке, в чем разница между UCA 4.0.0 и UCA 5.2.0, кроме одного, является более новым. Каковы будут преимущества или недостатки?
Адам
4
Это влияет на сортировку. Если вам абсолютно необходимо выполнить сортировку по более новой (но все еще устаревшей) версии стандарта Unicode, то вы можете использовать ее 520_ci. Для моих сайтов мне было наплевать.
Матиас Биненс,
Каков размер байта самого большого символа размера байта в utf8mb4_unicode_520_ciсопоставлении?
старик