sql >> Databáze >  >> RDS >> Mysql

Jaký COLLATE bych měl nastavit, abych používal všechny možné jazyky?

  • První volba (MySQL 8.0):utf8mb4_0900_ai_ci
  • Druhá volba (od 5.6):utf8mb4_unicode_520_ci
  • Třetí možnost (5.5+):utf8mb4_unicode_ci
  • Před verzí 5.5 nezvládnete veškerou čínštinu ani emotikony:utf8_unicode_ci

Čísla odkazují na standardy Unicode 9.0, 5.20 a (bez čísla) 4.0.

Žádné řazení není dobré pro řazení všech jazyky zároveň. Španělština, němčina, turečtina atd. mají zvláštnosti, které jsou neslučitelné. Výše uvedená kolace jsou „nejlepší“ dostupná pro obecné použití.

utf8mb4 zpracovává všechny znaky, které dosud specifikoval Unicode (včetně cherokézštiny, klingonštiny, klínového písma, byzantského písma atd.)

Pokud je středem zájmu portugalština:

Viz https://pt.stackoverflow.com/ a Porovnání MySQL pro portugalštinu .

Prostudujte si toto pro 8.0 nebo toto pro starší verzi 8.0 abyste viděli, které řazení utf8/utf8mb4 se nejvíce blíží „správnému“ třídění portugalštiny. Možná utf8mb4_danish_ci nebo utf8mb4_de_pb_0900_ai_ci by bylo nejlepší.

(Jinak použijte 'možnosti' uvedené výše.)



  1. mysql není rozpoznán jako interní nebo externí příkaz, operační program nebo dávka

  2. Skrytí přihlašovacích údajů MySQL v aplikaci

  3. Tipy pro ukládání záloh PostgreSQL na Amazon AWS

  4. Je v SQL v pořádku, aby na sebe dvě tabulky odkazovaly?