EMZETT.
Login

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-icu usw.
  • 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 bei ci als 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.strxfrm o. Ä. verwenden.

Siehe auch: Unicode, UTF-8