Probleme mit dem Character Encoding bei Export/Import
am 08.09.2007 11:05:44 von stroncococcusHallo.
Ich versuche gerade eine Mediawiki Seite auf einen anderen Server zu
transferieren.
Dabei läuft auf beiden Server eine MySQL 5 Datenbank mit folgenden
Einstellungen:
MySQL charset: UTF-8 Unicode (utf8)
MySQL connection collation: utf8_general_ci
Die Tabellen an sich enthalten jedoch Felder mit der collation
latin1_bin und latin1_swedish_ci.
Die Felder enthalten jedoch laut Mediawiki Mailingliste in
Wirklichkeit UTF-8 Daten, da z.B. das "Ã" intern in der Datenbank als
"ÃÅ" gespeichert ist. Auf dem alten Server läuft das auch au=
f diese
Weise völlig korrekt.
Zur Transferierung der Datenbank mache ich nun einen SQL Dump via
phpmyadmin (mein Provider erlaubt dort nichts anderes).
Im Textfile sind nun genau die gleichen Daten gespeichert wie in der
Datenbank (sprich z.B. "Ã" ist weiterhin durch "ÃÅ" ersetzt.
file -i dump.sql sagt mir:
text/x-c; charset=3Dutf-8
Importiere ich jetzt den Dump in meine neue Datenbank, wird jedoch
"ÃÅ" (das ursprüngliche "Ã") durch ein andere kryptisch=
e Symbole
ersetzt "ÃÆââ¬â" (für die anderen deutsc=
hen Sonderzeichen gilt das
Gleiche) und die Umlaute werden nicht mehr korrekt dargestellt.
Ich kann mir das nur so erklären, daà beim Import der mit latin1
gekennzeichneten Felder des Dump (der ja laut file -i utf-8 ist)
nochmal in latin1 umgewandelt wird.
Es macht übrigens kein Unterschied, ob ich zum Import phpmyadmin
benutze oder mysql < dump.sql.
Hat jemand eine Idee, wie ich die Daten wieder unverändert in die
Datenbank bekomme?
Viele GrüÃe,
Kai