Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist die beste MySQL-Sortierung für die deutsche Sprache?

Als Zeichensatz, wenn möglich, definitiv UTF-8.

Als Sortierung - das ist ein bisschen unangenehm für Sprachen mit Sonderzeichen. Es gibt verschiedene Arten von Zusammenstellungen. Sie alle können alle Umlaute und andere Zeichen speichern, unterscheiden sich aber darin, wie sie Umlaute in Vergleichen behandeln, d.h. ob

u = ü 

ist wahr oder falsch; und beim Sortieren (wobei in den Alphabeten die Umlaute in der Sortierreihenfolge stehen).

Um es kurz zu machen, Ihre beste Wahl ist entweder

utf8_unicode_ci

Es ermöglicht Suchen ohne Berücksichtigung der Groß-/Kleinschreibung; Es behandelt ß als ss und verwendet die DIN-1-Sortierung. Leider behandelt es, wie alle nicht-binären Unicode-Kollatierungen, u = ü was sehr lästig ist, da eine Suche nach "Müller" auch "Müller" zurückgibt. Sie müssen dies umgehen, indem Sie in Echtzeit eine Umlaut-fähige Sortierung festlegen.

oder utf8_bin

Diese Sortierung hat nicht den u = ü Problem, aber es sind nur Groß- und Kleinschreibungen möglich.

Ich bin mir nicht ganz sicher, ob die Verwendung der binären Sortierung noch andere Nebenwirkungen hat. Ich habe dazu hier .

Diese mySQL-Manpage gibt einen guten Überblick über die verschiedenen Sortierungen und die Konsequenzen, die sie im täglichen Gebrauch mit sich bringen.

Hier ist eine allgemeine Übersicht über verfügbare Sortierungen in mySQL.