Moin!
Ich weiß, dass es zu diesem Thema bereits einige Threads in diesem Forum gibt, aber wirklich fündig geworden bin ich bzgl. meines Problems noch nicht. Ein wirkliches Problem ist es auch nicht (da ich mir die Konstellation lediglich ausgedacht habe), dennoch interessiert mich, ob eine Lösung existiert.
Ich habe eine Datenbank “alt” mit der Kodierung SQL_ASCII. Diese sichere ich mit dem folgenden Befehl:
pg_dump -E UTF8 alt > alt.sql
Nun erstelle ich eine Datenbank “neu”:
createdb -T template0 -E UTF8 neu
Und anschließend versuche ich, mit dem folgenden Kommando, den Inhalt der alten Datenbank zurückzusichern:
psql -f alt.sql neu
Dabei kommt es zu folgenden Fehlermeldungen:
psql:alt.sql:1470: ERROR: invalid UTF-8 byte sequence detected near byte 0xdf
CONTEXT: COPY firma, line 1, column strasse: "Blablastra_e" psql:alt.sql:1481: ERROR: invalid UTF-8 byte sequence detected near byte 0xdf
CONTEXT: COPY personen, line 3, column strasse: "Teststra_e"
psql:alt.sql:1510: ERROR: invalid UTF-8 byte sequence detected near byte 0xfc
CONTEXT: COPY plz, line 3, column ort: "Utopiab|ttel"
Ganz offensichtlich liegen die gesicherten Daten nicht in der korrekten Kodierung vor. Aber: Wie dumpe ich die Datenbank, so dass ich alles ohne Probleme in eine zweite Datenbank mit anderer Kodierung schreiben kann?
Es eilt nicht, denn wie gesagt: es handelt sich nicht um eine produktive Datenbank, sondern lediglich um ein Test-Szenario, das mich interessierte. Trotzdem wäre ich für Lösungs-Vorschläge dankbar… Wer weiß, was noch alles auf einen zukommt!
Schönen Gruß, eazy