Sortierung und Collation: wie Texte verglichen werden
Kurz: Die Collation legt fest, wie Zeichenketten verglichen und sortiert werden: Groß-/Kleinschreibung, Akzente, Sprachregeln. Sie entscheidet, ob „ä” vor oder nach „z” kommt.
Genauer: Computer vergleichen Text nicht nach dem Alphabet, sondern nach Regeln. Einfache Regeln (nach Codepunkt) sind schnell, sprachgerechte Regeln (Unicode Collation) sind aufwendiger, aber für Menschen sinnvoller.
Im Detail
- Binär: Vergleich nach Byte- oder Codepunktwert. „Z” kommt vor „a”, „ä” ganz hinten. Schnell, aber für Nutzer ungewohnt.
- Sprachgerecht: Deutsch sortiert „ä” bei „a”, Schwedisch am Ende des Alphabets. In Datenbanken als
de_DE,utf8mb4_unicode_ci,und-x-icuusw. - Stufen: Mit oder ohne Groß-/Kleinschreibung (
ci/cs), mit oder ohne Akzente (ai/as). - Folgen: Eindeutigkeit (
UNIQUE) hängt von der Collation ab: „Anna” und „anna” gelten beicials gleich. Indizes sind collationsabhängig. - Umstieg: Wechselt die Betriebssystem- oder Bibliotheksversion die Sortierregeln, können Indizes ungültig werden (PostgreSQL warnt davor).
- Programmierung: Der Standardvergleich von Zeichenketten in Programmiersprachen ist meist binär. Für Nutzerlisten
Intl.Collator,locale.strxfrmo. Ä. verwenden.