Ich habe Zeichen wie diese auf unserer Website: Fémnyomó
Das ist eine Straßenadresse, die in einer anderen Sprache eingegeben wurde (ich weiß allerdings nicht, in welcher). Hier ist der Aufbau der Datenbank:
mysql 4.1.2log
charset cp1252 West European (latin1)
Ich verwende PHP, aber ohne mbstrings() (obwohl ich auf dieser Adresse keine String-Konvertierungen durchführe, nur echo).
Wenn ich den mysql-Zeichensatz von cp1252 auf UTF-8 änderte und sicherstellte, dass ich Dinge verwendete wie header( 'Content-Type: text/html; charset=UTF-8' );
würde das meine Situation verbessern? Oder sind die Daten im Eimer, weil sie im Zeichensatz cp1252 gespeichert wurden, und ich kann nichts tun? Die ursprüngliche Datenbank wurde im Jahr 2002 erstellt und seitdem verwendet/erweitert. Wir haben Server aufgerüstet und Dumps reimportiert, aber ich muss beschämt zugeben, dass ich nicht viel über Zeichensätze nachgedacht habe.
Wenn es mich erwischt, werde ich wahrscheinlich nur den Text in diesen Feldern entfernen, aber ich möchte Unicode in Zukunft unterstützen, wenn ich also eine ALTER database_name DEFAULT CHARACTER SET utf8;
wird das sicherstellen, dass künftige Multibyte-Kodierungen korrekt gespeichert werden, so dass zumindest der Speicherplatz aus der Gleichung herausgenommen wird (so dass ich mich um PHP kümmern kann)?
Danke.