• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

MySQL: UTF8-Problem bei Datenbank Export/Import

Hi,

ich habe folgendes Problem:

Ich möchte eine mit mysqldump erstellte Datenbank-Sicherung von einer
MySql Version 3.23.58 in die derzeit gültige Version MySQL 5.1 von XAMPP 1.5.2 übertragen.

Mein 1. Problem dabei war die Umsetzung der Umlaute. Die habe ich mit
Befehl iconv von iso-8859-15 nach utf8 wieder hergestellt. Dachte ich jedenfalls, weil ich in der umgesetzten Datei die Umlaute korrekt wieder zu sehen waren.

Dann habe ich die umgesetzte utf8-Datei mit mysql -p < utf8-Datei
nach MySql 5.1 importiert. Habe hier vorher meine Datenbank mit Zeichensatz und Kollation utf8-bin erstellt.

Beim Import passiert jetzt aber folgendes:

Die Umlaute sind nicht korrekt importiert worden, es erscheinen wieder andere Ersatzzeichen.

Und bei dem SQL Befehl CREATE TABLE werden als "text" definierte Felder als BLOB-Felder erstellt.

Kann mir jemand an dieser Stelle weiterhelfen? :roll:

Vielen Dank für eine Antwort. :)
 
Mit welchen Optionen hast du den mysqldump durchgeführt? Wenn die Tabellendefinitionen (CREATE TABLE) dabei sind dann geht das so nicht, deine UTF8-bin Tabellen werden dann gelöscht und neu erstellt, dabei ist der Zeichensatz der Default der 5.1
 
Den mysqldump führe ich komplett durch, also incl. der CREATE TABLE Anweisungen. Die Tabellen hatte ich unter 5.1 auch nicht erstellt, weil ich das durch den Import erledigen lassen wollte. Die Tabellen werden auch angelegt mit Kollation utf8-bin für jedes Feld. Und so wollte ich es ja auch.

Ich habe jetzt noch folgendes festgestellt: Wenn ich mir die Struktur einer dieser erstellten Tabelle mit phpmyadmin anschaue, sind die text - Felder auch als solche definiert. Wähle ich aber den Modus Anzeigen einer Tabelle, dann erscheinen die Text-Felder als BLOB-Felder und der Inhalt wird nicht angezeigt.

Habe mich dann ein weing mit den phpmyadmin-Einstellungen für Default-Language und default-Charset in der config.inc.php beschäftigt, aber an der Anzeige der Tabellen ändert sich nichts. Weiterhin die Sonderzeichen und BLOB bei Textfeldern.

Ich muss noch etwas erwähnen: Der ganze Transfer spielt sich von einer Suse Linux Version 8.2 nach 10.0 via ftp statt. Wenn ich den Befehl locale auf 8.2 aufrufe, ist dort alles mit POSIX belegt und locale unter 10.0 bringt alles mit utf-8.
 
Oben