Du bör använda en Unicode-sortering. Du kan ställa in det som standard på ditt system eller på varje fält i dina tabeller. Det finns följande Unicode-sorteringsnamn, och detta är deras skillnader:
utf8_general_ci är en mycket enkel sammanställning. Den tar bara bort alla accenter - konverterar sedan till versaler och använder koden för den här typen av "basbokstav" resultatbokstav för att jämföra.
utf8_unicode_ci använder standardtabellen för Unicode-sorteringselement.
De huvudsakliga skillnaderna är:
- utf8_unicode_ci stöder så kallade expansioner och ligaturer, till exempel:tyska bokstaven ß (U+00DF LETTER SHARP S) är sorterad nära "ss" Bokstaven Œ (U+0152 LATIN CAPITAL LIGATURE OE) är sorterad nära "OE".
utf8_general_ci stöder inte expansioner/ligaturer, den sorterar alla dessa bokstäver som enstaka tecken, och ibland i fel ordning.
- utf8_unicode_ci är allmänt mer exakt för alla skript. Till exempel, på kyrilliskt block:utf8_unicode_ci är bra för alla dessa språk:ryska, bulgariska, vitryska, makedonska, serbiska och ukrainska. Medan utf8_general_ci bara är bra för ryska och bulgariska delmängder av kyrilliska. Extra bokstäver som används på vitryska, makedonska, serbiska och ukrainska sorteras inte bra.
+/- Nackdelen med utf8_unicode_ci är att den är lite långsammare än utf8_general_ci.
Så beroende på, om du vet eller inte, vilka specifika språk/tecken du ska använda rekommenderar jag att du använder utf8_unicode_ci som har en mer omfattande täckning.