Artikelformat

latin1_german1_ci oder latin1_german2_ci? MySQL und deutsche Umlaute

Ihr habt eine Liste mit Namen in einer MySQL Datenbank und wollt diese korrekt sortiert ausgeben, dann habt Ihr eventuell mit dem Verwendeten zeichensatz der Tabelle / Spalte ein Problem.
Viele verwenden latin1_swedish als normalen Zeichensatz. Doch hier werden deutsche Umlaute falsch sortiert.
Deshalb gibt es seit ein paar Jahren extra latin1_german1_ci und latin1_german2_ci.
Was der Unterschied ist, wird in der MySQL Referenz sehr gut erklärt:

Die Sortierfolgen latin1_german1_ci und latin1_german2_ci basieren auf den DIN-1- und DIN-2-Normen. DIN ist das Deutsche Institut für Normung, also die deutsche Standardisierungsorganisation. DIN-1 heißt „Wörterbuchsortierung“, DIN-2 „Telefonbuchsortierung“.

  • Regeln für latin1_german1_ci (Wörterbuchsortierung):
    Ä = A
    Ö = O
    Ü = U
    ß = s
  • Regeln für latin1_german2_ci (Telefonbuchsortierung):
    Ä = AE
    Ö = OE
    Ü = UE

Autor: Rene Kreupl

Bloggt über WebEntwicklung und Fotografie

3 Kommentare

  1. Ich hoffe ja mal, dass die meisten mittlerweile auf UTF8 migriert haben. Wahrscheinlich vergebens. *gg*

  2. Wenn die Website entsprechend UTF8 codiert ausgeliefert wird, dann gibt es keine Probleme

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.