michi: phpMyAdmin 2.9 UTF-8 und Umlaute

Beitrag lesen

Hallo,

Ich gehe eher davon aus, dass das Problem auf einer nicht korrekt ausgehandelten Kodierung beruht, die für die Verbindung zwischen MySQL und deinen Anwendungen verwendet werden soll. Vermutlich steht diese auf Latin1/ISO-8859-1. Das hat zur Folge, dass du UTF-8-Daten sendest, MySQL annimmt, ISO-8859-1 zu bekommen, das nach UTF-8 umwandelt, um es in den Tabellenfeldern zu speichern. Bei der Ausgabe wandelt es das wieder nach ISO-8859-1 um, und du stellst es als UTF-8 dar.

Ja. Genau das war es. Tausend dank.

Wenn meine Annahme stimmt, müsstest du zum einen deiner Anwendung beibringen, SET NAMES utf8 direkt nach einem Verbindungsaufbau zu senden und zum anderen deine fehlerhaften Daten in den Tabellen korrigieren. Du könntest dazu deine Daten auf die bisher falsche Art auslesen, und sie diesmal mit SET NAMES utf8 wieder einlesen. Alternativ kannst du die Daten unter Verwendung von phpMyAdmin in eine Datei exportieren, diese Datei mit einem extern Programm einmal von UTF-8 nach ISO-8859-1 konvertieren, um aus dem doppelt kodierten UTF-8 ein einfaches zu machen, und die konvertierte Datei unter Angabe der Kodierung UTF-8 wieder zu importieren.

Habe SET NAMES utf8 hinzugefügt und schon ging es. Glücklicherweise hatte ich kein Problem damit bestehende Datensätze konvertieren zu müssen, da ich noch in der "Testphase" stecke.

Vielen Dank nochmal und viele Grüße

Michael