Tabellen haben falsche Zeichenkodierung

Eumeltier

Neuer Benutzer
Beiträge
2
Hallo,

ich habe hier ein paar Tabellen, die auf latin stehen.

Der Zeichensatz der MySQL-Verbindung steht aber auf utf8.

Das funktioniert in so weit problemlos, daß alles was PHP in utf8 reinschiebt, auch in utf8 wieder raus kommt.
Wenn ich mit die Tabellen aber in phpMyAdmin angucken, dann sind die Sonderzeichen auf die typische Art und Weise versaut (halt wie wenn man utf8-Dateien mit einem normalen ASCII-Editor anschaut).

Funktional wie gesagt kein Problem, aber doch irgendwie unschön.
Kann man die Kodierung der Tabelle nachträglich ändern, OHNE daß die Sonderzeichen umkodiert werden, so daß aus den kryptischen Zeichen korrekte utf8-Umlaute werden?
Mit einem normalen ALTER TABLE xx CONVERT TO CHARACTER SET utf8 werden ja die Zeichen umgewandelt.

Oder muß ich mir ein PHP-Skript schreiben, eine zweite DATABASE erstellen mit allen Tabellen in utf8 und die Daten vom PHP-Skript umschaufeln lassen?

Gruß,
Martin
 
Werbung:
ich habe hier ein paar Tabellen, die auf latin stehen.

Der Zeichensatz der MySQL-Verbindung steht aber auf utf8.

Das funktioniert in so weit problemlos, daß alles was PHP in utf8 reinschiebt, auch in utf8 wieder raus kommt.

Das ist meiner Meinung nach ein grober Bug in MySQL, daß es Zeichen in falschen Charset annimmt. Das ist von 'funktioniert in so weit problemlos' weiter weg als der Mars. Du hast initial damit die Grundlage für viel Spaß bei kommenden Updates gelegt. Wäre ich Du, würde ich das schnell fixen. Oder noch besser eine DB verwenden, die solch Bugs nicht hat.
 
Ja, das würde ich ja gerne tun.
Die Frage ist, ob man das direkt über MySQL machen kann, oder ob ich die Daten wirklich einmal raus und wieder rein schaufeln muß...
 
Werbung:
Zurück
Oben