Sie sollten eine Unicode-Sortierung verwenden. Sie können es standardmäßig auf Ihrem System oder für jedes Feld Ihrer Tabellen festlegen. Es gibt die folgenden Unicode-Sortierungsnamen, und dies sind ihre Unterschiede:
utf8_general_ci ist eine sehr einfache Sortierung. Es entfernt einfach alle Akzente, wandelt es dann in Großbuchstaben um und verwendet den Code dieser Art von "Basisbuchstaben"-Ergebnisbuchstaben zum Vergleichen.
utf8_unicode_ci verwendet die standardmäßige Unicode-Sortierungselementtabelle.
Die Hauptunterschiede sind:
- utf8_unicode_ci unterstützt sogenannte Erweiterungen und Ligaturen, zum Beispiel:Der deutsche Buchstabe ß (U+00DF BUCHSTABE S) wird neben "ss" sortiert. Der Buchstabe Œ (U+0152 LATIN CAPITAL LIGATURE OE) wird neben "OE" sortiert.
utf8_general_ci unterstützt keine Erweiterungen/Ligaturen, es sortiert all diese Buchstaben als einzelne Zeichen und manchmal in der falschen Reihenfolge.
- utf8_unicode_ci ist allgemein genauer für alle Skripte. Zum Beispiel im kyrillischen Block:utf8_unicode_ci ist für alle diese Sprachen geeignet:Russisch, Bulgarisch, Weißrussisch, Mazedonisch, Serbisch und Ukrainisch. Während utf8_general_ci nur für die russische und bulgarische Untergruppe von Kyrillisch geeignet ist. Zusätzliche Buchstaben, die in Weißrussisch, Mazedonisch, Serbisch und Ukrainisch verwendet werden, werden nicht gut sortiert.
+/- Der Nachteil von utf8_unicode_ci ist, dass es etwas langsamer ist als utf8_general_ci.
Abhängig davon, ob Sie wissen oder nicht, welche spezifischen Sprachen/Zeichen Sie verwenden werden, empfehle ich Ihnen, utf8_unicode_ci zu verwenden, das eine umfassendere Abdeckung bietet.