dedlfix: mysql, Umlautproblem

Beitrag lesen

Tach!

  • Du hast da einerseits die Kodierung für die Tabellen-Daten. Diese hat Einfluss darauf, wie MySQL/MariaDB die Daten speichert …

Diese Aussage ist nicht eindeutig. Man kann Tabellen einen Kodierungswert zuweisen, aber das ist nur ein Defaultwert, wenn man Feldern keine Kodierung zuweist. Ansonsten ist ausschlaggebend, was für das einzelne Feld konfiguriert ist.

… und sortiert.

Zum Sortieren - genauer gesagt Vergleichen - sind die in einer Collation definierten Regeln zuständig, nicht die Kodierung. Eine Collation setzt aber auf eine bestimmte Kodierung auf, weil mit der Kodierung auch der Zeichensatz definiert ist. Es ist ja zum Beispiel nicht sinnvoll, Regel für kyrillische Zeichen in einer Collation für Latin1 zu haben.

(ISO-8859-1 kann dann z.B. nichts mit dem €-Symbol anfangen, das gibt es in ISO-8859-15 oder UTF-8)

ISO-8859-1 und ISO-8859-15 (und alle anderen der ISO-8859-Familie) sind für MySQL uninteressant. Es kennt stattdessen "latin1", was cp1252/Windows-1252 entspricht und eine Erweiterung von ISO-8859-1 ist. Und darin ist auch das €-Zeichen enthalten, aber an anderer Position als in ISO-8859-15.

  • Du hast andererseits die Kodierung, die MySQL/MariaDB für die Kommunikation verwendet.

Genau genommen sind das drei Werte, mit unterschiedlicher Bedeutung.

  • Dann wäre da noch die Kodierung für Namen…

Es gibt noch ein paar mehr.

dedlfix.