sql >> Base de Datos >  >> RDS >> PostgreSQL

Conversión de una base de datos Postgresql de SQL_ASCII, que contiene tipos mixtos de codificación, a UTF-8

Esto es exactamente el problema que Encoding::FixLatin fue escrito para resolver*.

Si instala el módulo Perl, también obtendrá el fix_latin utilidad de línea de comandos que puede usar así:

pg_restore -O dump_file | fix_latin | psql -d database

Lectura de las 'Limitaciones ' de la documentación para entender cómo funciona.

[*] Tenga en cuenta que asumo que cuando dice ISO-8859-x quiere decir ISO-8859-1 y cuando dice CP125x quiere decir CP1252, porque la combinación de ASCII, UTF-8, Latin-1 y WinLatin-1 es un caso común. Pero si realmente tienes una mezcla de codificaciones orientales y occidentales, lo siento, pero estás jodido :-(