- 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.)