PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Convertendo um banco de dados Postgresql de SQL_ASCII, contendo tipos de codificação mistos, para UTF-8


Isso é exatamente o problema que Encoding::FixLatin foi escrito para resolver*.

Se você instalar o módulo Perl, também obterá o fix_latin utilitário de linha de comando que você pode usar assim:
pg_restore -O dump_file | fix_latin | psql -d database

Leia as 'Limitações ' da documentação para entender como ele funciona.

[*] Observe que estou assumindo que quando você diz ISO-8859-x você quer dizer ISO-8859-1 e quando você diz CP125x você quer dizer CP1252 - porque a mistura de ASCII, UTF-8, Latin-1 e WinLatin-1 é um caso comum. Mas se você realmente tem uma mistura de codificações orientais e ocidentais, desculpe, mas você está ferrado :-(