Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki COLLATE powinienem ustawić, aby używać wszystkich możliwych języków?

  • Pierwszy wybór (MySQL 8.0):utf8mb4_0900_ai_ci
  • Drugi wybór (od 5.6):utf8mb4_unicode_520_ci
  • Trzeci wybór (5.5+):utf8mb4_unicode_ci
  • Przed 5.5 nie można było obsługiwać całego chińskiego ani emotikonów:utf8_unicode_ci

Liczby odnoszą się do standardów Unicode 9.0, 5.20 i (bez numeru) 4.0.

Żadne sortowanie nie jest dobre do sortowania wszystkich języki w tym samym czasie. Hiszpański, niemiecki, turecki itp. mają dziwactwa, które są niezgodne. Powyższe zestawienia są „najlepszymi” dostępnymi zestawami ogólnego przeznaczenia.

utf8mb4 obsługuje wszystkie znaki określone przez Unicode (w tym Cherokee, klingońskie, klinowe, bizantyjskie itp.)

Jeśli koncentrujemy się na języku portugalskim:

Zobacz https://pt.stackoverflow.com/ i Porównanie MySQL dla języka portugalskiego .

Przestudiuj to dla wersji 8.0 lub to dla wersji wcześniejszych niż 8.0 aby zobaczyć, które sortowanie utf8/utf8mb4 jest najbliższe sortowaniu portugalskiego „prawidłowo”. Być może utf8mb4_danish_ci lub utf8mb4_de_pb_0900_ai_ci byłoby najlepiej.

(W przeciwnym razie skorzystaj z „wyborów” wymienionych powyżej).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie Django raw(), pole obliczeniowe w klauzuli WHERE

  2. Laravel Eloquent kontra konstruktor zapytań — dlaczego używać eloquent do zmniejszenia wydajności?

  3. Jak usunąć wiodące i końcowe spacje w MySQL?

  4. Jak działa funkcja EXPORT_SET() w MySQL

  5. MYSQL:jak zmienić kolejność tabeli