Měli byste použít řazení Unicode. Můžete jej nastavit ve výchozím nastavení na vašem systému nebo na každém poli vašich tabulek. Existují následující názvy řazení Unicode a toto jsou jejich rozdíly:
utf8_general_ci je velmi jednoduché řazení. Prostě – odstraní všechny diakritické znaménka – pak se převede na velká písmena a použije kód tohoto typu písmene „základního“ výsledku k porovnání.
utf8_unicode_ci používá výchozí tabulku prvků řazení Unicode.
Hlavní rozdíly jsou:
- utf8_unicode_ci podporuje tzv. expanze a ligatury, například:německé písmeno ß (U+00DF LETTER SHARP S) je seřazeno blízko "ss" Písmeno Œ (U+0152 LATIN CAPITAL LIGATURE OE) je seřazeno blízko "OE".
utf8_general_ci nepodporuje rozšíření/ligatury, třídí všechna tato písmena jako jednotlivé znaky a někdy ve špatném pořadí.
- utf8_unicode_ci je obecně přesnější pro všechny skripty. Například v bloku azbuky:utf8_unicode_ci je v pořádku pro všechny tyto jazyky:ruština, bulharština, běloruština, makedonština, srbština a ukrajinština. Zatímco utf8_general_ci je v pořádku pouze pro ruskou a bulharskou podmnožinu azbuky. Dodatečná písmena použitá v běloruštině, makedonštině, srbštině a ukrajinštině nejsou dobře tříděna.
+/- Nevýhodou utf8_unicode_ci je, že je o něco pomalejší než utf8_general_ci.
V závislosti na tom, zda víte nebo ne, které konkrétní jazyky/znaky budete používat, vám doporučuji použít utf8_unicode_ci, který má větší pokrytí.