C'est exactement le problème que Encoding::FixLatin a été écrit pour résoudre*.
Si vous installez le module Perl, vous obtiendrez également le fix_latin
utilitaire de ligne de commande que vous pouvez utiliser comme ceci :
pg_restore -O dump_file | fix_latin | psql -d database
Lire les 'Limitations ' de la documentation pour comprendre son fonctionnement.
[*] Notez que je suppose que lorsque vous dites ISO-8859-x, vous voulez dire ISO-8859-1 et quand vous dites CP125x, vous voulez dire CP1252 - parce que le mélange d'ASCII, UTF-8, Latin-1 et WinLatin-1 est un cas courant. Mais si vous avez vraiment un mélange d'encodages orientaux et occidentaux, alors désolé mais vous êtes foutu :-(