MySQL: Import: Abbruch Tabellentext nach erstem Umlaut

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

MySQL: Import: Abbruch Tabellentext nach erstem Umlaut

Postby albert39 » 13. January 2011 19:58

Situation: XAMPP 1.7.3 Eine Drupal-Webseite (http://www.webname.net) wird vom Provider auf den lokalen Server übertragen.
Soweit funktioniert das, aber beim Importieren der Datenbank passiert folgendes:

Zunächst wird die MySQL-Datenbank des Providers exportiert und ein webname.sql - File erzeugt. Es werden die Grundeinstellungen vom MySQL belassen. Die Texte der einzelnen Seiten (mit den HTML-Tags) sind in webname.sql komplett vorhanden (mit allen deutschen Sonderzeichen).

webname.sql wurde nun in XAMPP in eine neue lokale MySQL-Datenbank (webname_DB1) importiert. Auch hier wurden die Grundeinstellungen belassen (Zeichencodierung: utf-8, SQL-Kompatibiliätsmodus: NONE ). Der Import läuft zügig ab und die entstehende DB hat exakt die gleiche Struktur (Typ: MylSAM, Kollation: utf8_general_ci) wie die Remote-DB.

Aber: Die eingefügten Texte (die den einzelnen pages der Webseite entsprechen) brechen nach dem Auftreten des ersten Sonderzeichens (Ü,Ö,Ä ...) ab, sodass dann in der Darstellung der Webseite über den lokalen Server von jeder Seite nur die ersten 1 bis 2 Sätze aufscheinen, eben bis zum ersten Sonderzeichen.

Ich bitte um Hilfe und um Hinweise, was die Ursache sein könnte. Ich bin mit MySQL wenig vertraut und vermute einfach eine falsche Einstellung. Aber welche?? (utf-8 wäre ja gesetzt).

Vielen Dank für Eure Hilfe

Albert
albert39
 
Posts: 10
Joined: 13. January 2011 18:34

Re: MySQL: Import: Abbruch Tabellentext nach erstem Umlaut

Postby Ralan Kai » 19. January 2011 18:19

Zu deiner Frage.

Du brauchst zugleich auch die Richtige Spracheinstellung der Datenbank selbst, einfacher gesagt die Datenbanksprache. ( Kein Witz. die Datenbank selbst kennt auch eine Sprache und die muss stimmen.)
Wenn du dich bei PhpMyAdmin angemeldet hast, kannst Du ja auf der Erscheinenden Seite eine Datenbank erstellen.
Hinter dem Feld wo Du den Datenbanknamen eingibst, kannst Du die Sprache der Datenbank wählen.
Frage beim Provider nach welche Sprache die Datenbank selbst benutzt hat.
Mögliche Einstellungen unter MYSQL für Deutsch sind "Latin-1_german1_ci" , "Latin-1_german2_ci" , "Latin-1_general_ci" sowie "Latin-1_general_cs" und als letztes "latin1_bin"

Falls Du selbst zugriff auf den MYSQL-Server hast zum Exportieren, sieh nach welche Einstellung die Datenbank hat.
Die Informationen findest Du, wenn Du in PHPMYADMIN auf den Reiter "Datenbanken" klickst, Dir werden jetzt alle vorhandenen Datenbanken angezeigt.
Klicke auf den Namen der Datenbank welche du Exportiert hast.
Es werden Dir jetzt alle Tabellen in der Datenbank angezeigt, falls nicht gehe oben auf den Reiter "Strucktur".
Ganz oben in der Ersten Zeile der nun Angezeigten Tabellen, unter der Spaltenbezeichnung "Kollation" steht die grundlegende Spracheinstellung der Datenbank.
Mit genau dieser Einstellung musst Du nun in Xampp, mit hilfe von phpmyadmin, eine Datenbank erstellen, dann wähle diese Datenbank wie oben beschrieben aus.
Nur gehe dann auf den Reiter "Importieren"
Wähle die zu Importierende Datei aus und starte das importieren. Jetzt müssten die Daten korrekt importiert werden, also auch mit den umlauten.

Mal übertrieben gesagt, Wenn die Datenbank in Japanischer Sprache war, kannst Du sie nicht in eine Deutsche importieren. :twisted:
Wenn also die Datenbank als Spracheinstellung "Latin-1_german1_ci" hatte kannst Du die Daten nicht in eine Datenbank importieren welche als Sprache "utf8_general_ci" benutzt. :idea:

Ich hoffe ich konnte Dir helfen

Gruß Ralan
Ralan Kai
 
Posts: 1
Joined: 19. January 2011 16:24

Re: MySQL: Import: Abbruch Tabellentext nach erstem Umlaut

Postby albert39 » 20. January 2011 22:46

Danke Ralan,

es ist jedenfalls ein Schritt weiter.

Ich habe Zugriff auf alle Datenbanken und habe mir zuerst die "originale" beim Provider angesehen:
ALLE Tabellen haben dort die Kollation utf8_general_ci, z.B.
webform_submitted_data .... MyISAM utf8_general_ci 5,8 KiB .....

aber am Ende der Tabellenliste (in der Zusammenfassung) steht:
67 Tabellen Gesamt 33,189 MyISAM latin1_swedish_ci 31,6 MiB 20,0 MiB

Dieses latin1_swedish_ci habe ich bisher nicht beachtet. Ich weiss auch nicht, wie dies zustande gekommen ist. Wir sind in Österreich ja im german-Sprachbereich. Jedenfalls funktionieren auf der Live-Site die Umlaute.

Beim Erstellen der lokalen Datenbank habe ich die Sprache (das zweite Eingabefeld nach dem Namen) nicht angegeben.
dennoch ist das Tabellenlisting exakt identisch (abgesehen von den Größenangaben der Tabellen), z.B.
webform_submitted_data .... MyISAM utf8_general_ci 6,6 KiB
und die Zusammenfassung:
66 Tabellen Gesamt 10,867 MyISAM latin1_swedish_ci 6,5 MiB 4,7 KiB

Ich werde zunächst klären, wie beim Provider dieses latin1_swedish_ci zustande gekommen ist und mich dann wieder melden.

Nebenfrage: Wie kann man hier ein Bild einfügen? Was muss ich [img]zwischen[/img] einfügen? Ein .jpg copy/paste geht jedenfalls nicht.

Herzliche Grüße

Albert
albert39
 
Posts: 10
Joined: 13. January 2011 18:34

Re: MySQL: Import: Abbruch Tabellentext nach erstem Umlaut

Postby albert39 » 21. January 2011 20:32

Fortsetzung meines vorigen Beitrages:

In http://forum.mysqldumper.de/die-umlautp ... t2313.html findet man eine sehr gute Erklärung der Problematik mit den Umlauten.
Der Provider hat also bei der Datenbank die Einstellung:

ALTER DATABASE `u594_db1` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_c
i

vorgenommen. Dann habe ich den mit EXPORT erstellten Datensatz über Notepad + als .sql-Datei gespeichert und diese in eine neu erstellte lokale Datenbank importiert, wobei ich dort die gleichen Datensatz-Einstellungen vorgenommen habe, wie sie in der DB des Live-Systems vorhanden sind:

ALTER DATABASE `u594_db3` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci.


Aber das Problem blieb bestehen: Die Struktur wurde einwandfrei übernommen, die Tabelleninhalte hingegen wurden nur bis zum Auftreten des ersten ü/ö/ä eingetragen. (Achtung: es geht hier nicht um eine falsche Darstellung der Umlaute, sondern um den Abbruch des Importes beim Auftreten eines Umlautes).

Ich bitte also die Experten weiter um Hilfe bzw. um Hinweise auf mögliche Ursachen.

Albert
albert39
 
Posts: 10
Joined: 13. January 2011 18:34

Re: MySQL: Import: Abbruch Tabellentext nach erstem Umlaut

Postby albert39 » 22. January 2011 22:47

Offenbar lag mein Fehler darin, dass ich beim Exportieren nicht die Funktion "Senden" benützte.
Ich hatte den beim Exportieren erstellen Datensatz (am Server des Providers) einfach mit Ctrl+C kopiert und in eine neue Datei meines Notepad++ eingefügt, diese als .sql-Datei abgespeichert und dann in eine neue DB in meinem lokalen XAMPP importiert.

Mit der Funktion "Senden" wird direkt eine .sql-Datei erstellt und herunter geladen. Als ich diese (mit den Einstellungen, die ich im vorigen Beitrag genannt habe) importierte, gabe es zunächst eine SQL-Syntax-Fehlermeldung, aber das war schnell behoben und dann erfolgte der Import problemlos ohne Abbruch der Tabellenihalte beim ersten Umlaut.

Damit ist also das Problem, das diesem Thread zugrunde lag, gelöst.

Danke für Eure Hilfe.

Albert
albert39
 
Posts: 10
Joined: 13. January 2011 18:34


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 63 guests