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.