Mysql
 sql >> Database >  >> RDS >> Mysql

Quale COLLATE dovrei impostare per utilizzare tutti i tipi di lingue possibili?

  • Prima scelta (MySQL 8.0):utf8mb4_0900_ai_ci
  • Seconda scelta (a partire dalla 5.6):utf8mb4_unicode_520_ci
  • Terza scelta (5.5+):utf8mb4_unicode_ci
  • Prima della 5.5, non puoi gestire tutto il cinese, né Emoji:utf8_unicode_ci

I numeri si riferiscono agli standard Unicode 9.0, 5.20 e (nessun numero) 4.0.

Nessuna confronto è utile per ordinare tutti lingue contemporaneamente. Spagnolo, tedesco, turco, ecc., hanno stranezze incompatibili. Le regole di confronto di cui sopra sono le "migliori" disponibili per uso generale.

utf8mb4 gestisce tutti i caratteri ancora specificati da Unicode (inclusi Cherokee, Klingon, Cuneiform, Byzantine, ecc.)

Se l'obiettivo è il portoghese:

Vedi https://pt.stackoverflow.com/ e collation MySQL per il portoghese .

Studia questo per 8.0 o questo per le versioni precedenti alla 8.0 per vedere quale confronto utf8/utf8mb4 si avvicina di più all'ordinamento "corretto" del portoghese. Forse utf8mb4_danish_ci o utf8mb4_de_pb_0900_ai_ci sarebbe meglio.

(Altrimenti vai con le "scelte" sopra elencate.)