PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Konvertieren einer Postgresql-Datenbank von SQL_ASCII, die gemischte Kodierungstypen enthält, in UTF-8

Das ist genau das Problem, dass Encoding::FixLatin wurde geschrieben um zu lösen*.

Wenn Sie das Perl-Modul installieren, erhalten Sie auch das fix_latin Befehlszeilenprogramm, das Sie wie folgt verwenden können:

pg_restore -O dump_file | fix_latin | psql -d database

Lesen Sie die 'Einschränkungen '-Abschnitt der Dokumentation, um zu verstehen, wie es funktioniert.

[*] Hinweis:Ich gehe davon aus, dass Sie ISO-8859-1 meinen, wenn Sie ISO-8859-x sagen, und wenn Sie CP125x sagen, meinen Sie CP1252 - wegen der Mischung aus ASCII, UTF-8, Latin-1 und WinLatin-1 ist ein häufiger Fall. Aber wenn Sie wirklich eine Mischung aus östlichen und westlichen Kodierungen haben, dann tut es mir leid, aber Sie sind am Arsch :-(