To je přesně problém, který Encoding::FixLatin byl napsán k řešení*.
Pokud nainstalujete modul Perl, získáte také fix_latin
nástroj příkazového řádku, který můžete použít takto:
pg_restore -O dump_file | fix_latin | psql -d database
Přečtěte si 'omezení ' v dokumentaci, abyste pochopili, jak to funguje.
[*] Poznámka Předpokládám, že když říkáte ISO-8859-x, myslíte ISO-8859-1, a když říkáte CP125x, máte na mysli CP1252 – protože kombinace ASCII, UTF-8, Latin-1 a WinLatin-1 je běžný případ. Ale pokud opravdu máte směs východního a západního kódování, tak se omlouvám, ale jste v prdeli :-(