• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Konvertierung Datenbank utf-8 zu iso-8859-1

Status
Für weitere Antworten geschlossen.
E

Efchen

Guest
Moin,

ich habe das Problem, dass ich meine lokale mySQL Datenbank wohl mit utf-8 angelegt habe, die bei meinem Provider aber mit iso-8859-1 läuft. Wenn ich meine Tabellen nun bei mir speichere und zum Provider übertrage, stimmen natürlich die Umlaute nicht.

Problem scheint außerdem zu sein, dass ich ne neuere Version habe (ich 5.0.51b, Provider 5.0.27) und der SQL-Export Befehle reinschreibt, die die DB beim Provider nicht versteht. Irgendwas mit SQL_MODE (kann man scheinbar einfach rauslöschen) und "DEFAULT CHARSET=latin1", wo zumindest das DEFAULT raus muss, aber deswegen die Umlaute trotzdem nicht stimmen.

Gibt es eine einfache Möglichkeit (und könnte sie mir jemand sagen :-)), wie ich entweder
a) meine eigene Datenbank von utf-8 nach iso-8859-1 konvertiere oder
b) beim Export der Daten aus meiner Datenbank irgendwas angeben kann, so dass einer der beiden die Umlaute richtig konvertiert?

Vielen Dank im Voraus,
-Efchen
 
Ich hatte auch mal dieses Problem. Damals hat mir der Provider geholfen.
Leider weiß ich nicht mehr wie.

Erzeugst du einen (my)sql dump?
Vielleicht kannst du den mit einem Script nach Sonderzeichen / Umlauten durchsuchen und durch html-Entinies ersetzen.

Oder hab ich dich völlig falsch verstanden?
 
Moin,

bin gewiß kein Datenbankexperte habe aber mal einen Fred aufgestöbert, wo es um Umwandlung utf-8/iso 8859-1 geht:
Hier

Vielleicht nützt es dir etwas, kann das aber nicht so recht beurteilen.

koslowski
 
@neuroleptika:
Das ist eine Möglichkeit, das funktioniert auch. Ist insofern natürlich auch praktisch, als dass man die Statements, die die ältere Datenbank nicht versteht, auch gleich ausfiltern kann.

@koslowski:
Das hörte sich vielversprechend an, eine Möglichkeit, die Daten in der Datenbank einfach zu konvertieren. Leider funktioniert das nicht mit der Datenbank des Providers, der kennt das "convert"-Statement offensichtlich nicht (Fehler #1064).
Was ich aber mal ausprobieren könnte, wäre lokal eine neue Datenbank mit iso-8859-1 anzulegen und die Daten dann zu konvertieren. Aber nachdem da ohnehin noch dieses eine Statement drin ist (SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";), was die Provider-Datenbank nicht versteht, werde ich wohl dennoch ein Script schreiben dürfen und kann dann die Umlaute auch gleich mit konvertieren.

Andersrum gehts wunderbar, bei meiner (neueren) Datenbank kann ich beim Dateiimport angeben, in welchem charset die Daten sind.

Danke Euch beiden!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben