mactricks.de
Linux • MacOSX • Windows
Tips & Tricks for PC and Mac Computers
  • Startseite
  • Software
  • Hardware
  • Betriebssystem
  • Programmieren
  • Sonstiges
  • SiteMap
  • Credits
  • SQlite Datenbank
  • Plesk Server Admin Tipps
  • Virtualisierung
  • MySQL Datenbank
    • SQL-Dump Umlaute
    • MySQL Kurztipps
    • MySQL Feldnamen
    • Letzte Änderungen
    • DB-Table aufräumen
    • SQL Dump Skript
    • MySQL PW Reset
  • Linux System
  • Software für MacOSX
  • Software für Windows

Index » Software » MySQL Datenbank » SQL-Dump Umlaute

↑ SQL-Dump Umlaute mit der Kombination (Scite/PHPMyAdmin)  #

↑ Problem  #

Es macht durchaus Sinn einen SQL-Dump mit den aktuellen Daten der MySQL Datenbank zu erstellen. Dabei wird des Dump als Textdatei abgespechert. Beim Abspeichern kann es passieren, dass Umlaute ÖÄÜ oder ß verloren gehen bzw. nach dem erneuten Einspielen in die Datenbank falsch dargestellt werden.

Wenn man zudem den SQL-Dump mit einem Editor wie Scite bearbeitet kann es zu diesen o.g. Effekten kommen. Abhängig von der Collation (UTF-8 / utf8) der MySQL Datenbank (ab MYSQL Version 4.1 Standardmäßig zu vergeben), gehen die Informationen für die Sonderzeichen bzw. Umlaute bei zurückspielen verloren.

WICHTIG: Die Basis für die Skripte, sei es Python oder PHP, sollte sein, dass deren Encoding bei Abarbeitung des Skripts auf UTF-8 steht, damit der beschriebene Weg auch funktioniert.

Bei Python im Kopf der Applikation:

  1. -- coding: utf-8 --

Bei PHP in einer der ersten Zeilen:
(das klappt nut mit PHP5, da es diese Befehle in PHP4 nicht gibt !!!)


<?PHP
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
mb_http_input("UTF-8");
...



↑ Lösung bzw. Workaround  #

Ich habe mich dazu entschieden alle meine Datenbanken bzw. Tabellen in der Datenbank mit der Collation (utf8_unicode_ci) zu speichern. Da es sich um Unicode handelt kann man seine Web Seiten bzw. Projekte später problemlos nationalisieren (mit anderen Landessprachen ausstatten). Dabei wird das Produkt dann Mehrsprachig ohne dabei die Umlaute / Sonderzeichen der einzelnen Länder zu vernachlässigen.



Folgenden Workaround habe ich mir für das Bearbeiten eines SQL-Dumps ausgedacht:

Bearbeiten des Dumps mit Scite mit der Einstellung über das Menü (File->Encoding->UTF-8).
Dann kann man alle Sonderzeichen bzw. Umlaute so sehen wie sie in der Landessprache sein sollen also Beispiel Deutsch: ÖÄÜß

Vor den Abspeichern der Datei dann das Encoding über das Menü auf (File->Encoding->8-Bit) umstellen. Dann sieht man die Umlaute bzw. Sonderzeichen als zwei Steuerzeichen (sieht ein wenig kaputt aus). Aber nicht verwirren lassen, das ist so in Ordnung !

Dann Abspeichern !!!

SQL-Dump Datei wieder in die Datenbank einspielen per PHPMyAdmin. In den Reitern oben (SQL->Durchsuchen) und die Datei auswählen.

Zeichenkodierung der Datei etwas weiter unten auf (utf8) stellen und mit Ok den Import starten.

Wenn der Import fertig ist sollten die Sonderzeichen / Umlaute von der Web Applikation richtig anzezeigt werden.

0 Kommentare für 'SQL-Dump Umlaute':
    Es existiert kein Kommentar für 'SQL-Dump Umlaute'

laden...

Kommentar hinterlassen
tag navi dump | phpmyadmin | scite | sql | umlaute | utf8

permalink

© 2001 - 2010 A.Hopek •  Anmelden • powered by PyLucid v0.11.3.0322 • render time: 620.2 ms - overall: 967.9 ms