dedlfix: nach UTF8 konvertieren (mysql)

Beitrag lesen

echo $begrüßung;

Ich möchte gerne latin1 Spalten nach utf-8 konvertieren. Dazu habe ich folgendes Kommando gefunden:
ALTER TABLE orte MODIFY stadt VARCHAR(255) NOT NULL CHARACTER SET utf8
Das funktioniert auch, denn neue Einträge werden nach einem INSERT als UTF8 angelegt.

Da die Datenhaltung eine Blackbox ist, wie hast du das überprüft?

Aber leider betrifft das nicht diejenigen, die schon vorher in der Tabelle vorhanden waren!

Dann hattest du vorher einen Fehler und die Daten passten nicht zur angegebenen Kodierung. Das Ändern der Feldkodierung hat einen Umkodiervorgang zur Folge. Der kann natürlich nur dann fehlerfrei durchgeführt werden, wenn Kodierung und Kodierungsangabe übereingestimmt haben.

Kennt jemand vielleicht die Vollendung dieses Vorgehens?

Such zunächst den Fehler. Vielleicht liegt es am nicht beachteten Einstellen der Verbindungskodierung. Wenn du genau herausgefunden hast, was bisher schief gelaufen ist, bzw. wie die Umlaute sich nun darstellen, kann man Gegenmaßnahmen versuchen. Auf alle Fälle solltest du dir vor weiteren Versuchen eine Sicherungskopie der Tabelle(n) anlegen. Nicht dass noch mehr kaputt geht als es bisher (vermutlich) schon ist. Dann hilft nur noch Handarbeit.

echo "$verabschiedung $name";