MySQL Collation różnice między utf8_unicode

10

Ale czytałem o znaczeniu MySQL Collation i dowiedziałem się do tej pory o kompatybilności i dokładności, że te 4 wydają się być moim najlepszym wyborem.

  • utf8_unicode_ci
  • utf8_unicode_520_ci
  • utf8mb4_unicode_ci
  • utf8mb4_unicode_520_ci

Z mojego zrozumienia, uft8mb4 byłby dobry dla postaci z obsługą mutli języka (znakowego) (na przykład japońskiego). uf8 obsługuje tylko 3 bajty, natomiast uf8mb4 obsługuje 4 bajty. Wygląda więc na to, że oczywistym wyborem byłby uf8mb4, ale wydaje się, że haczyk polega na tym, że masz limit długości (do cholery! Chcę moje ciasto i jem też), co jest trochę niepokojące (tak myślę).

Następnie bierzesz pod uwagę standard 520; który oferuje więcej, z tego, co niewiele mogłem na nim znaleźć. Ale to jest oczywiście problem, mogłem znaleźć bardzo mało na ten temat. Tyle tylko, że ludzie twierdzą, że to poprawa, ale bardzo niejasna.

Chcę najbardziej, jak mogę, z jak najmniejszą liczbą ograniczeń ... Pomyślałem, że ktoś tutaj może wiedzieć coś lub dwa. Oficjalna strona MySQL nie była tak pouczająca, jak się spodziewałem.

Z 4, które zapewniłyby największą kompatybilność, dokładność i największą długość przechowywania? Jaka jest naprawdę duża różnica między standardem 502?

Adam
źródło

Odpowiedzi:

10

Nazwy zestawień Unicode mogą zawierać numer wersji wskazujący wersję UCA, na której opiera się zestawienie. Sortowania UCA oparte bez numeru wersji w nazwie użyć tych version-4.0.0klawiszy wagi UCA . Nazwa sortowania, na przykład utf8_unicode_520_cioparta na kluczach wagi UCA 5.2.0 .

Zobacz https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html .

Mathias Bynens
źródło
W celu dalszego wyjaśnienia tego: zestawienie nie zmodyfikuje zastosowanego kodowania (co MySQL błędnie wywołuje character setlub charset), więc utf8zapewni ci 3-bajtowy (niestandardowy) UTF-8 i utf8mb4dostarczy 4-bajtowy UTF-8.
jynus
1
Więc w prostym języku angielskim, jaka jest różnica między UCA 4.0.0 a UCA 5.2.0 innym niż jeden, jest nowsza. Jaka byłaby zaleta lub wada?
Adam
4
Wpływa na sortowanie. Jeśli musisz koniecznie posortować według nowszej (ale wciąż nieaktualnej) wersji standardu Unicode, możesz użyć tej opcji 520_ci. Na moich stronach nie przejmowałem się tym mniej.
Mathias Bynens
jaki jest rozmiar bajtu największego znaku wielkości bajtu w utf8mb4_unicode_520_cisortowaniu?
oldboy