Precisei fazer a carga de alguns arquivos .CSV codificados com Unicode para
o PostgreSQL num banco em LATIN1.

Tratavam-se de palavras provenientes de dicionários em diversos idiomas,
como francês e alemão, que possuem caracteres que não podem ser convertidos.

Tentei duas abordagens:
1. criar o banco em UTF-8, fazer a carga normalmente e depois usar funções
como CONVERT() e TO_ASCII() para tirar a acentuação das palavras - dava
erro!
2. converter o arquivo externamente, usando o "iconv", para depois dar a
carga normalmente - conversão não era suportada para alguns caracteres..!

Sendo assim, rodei o "iconv" com a opção "-c" para suprimir esses caracteres
"inconversíveis", converti de UTF-8 para ISO-8859-1, carreguei os dados para
o banco em LATIN1 e rodei o TO_ASCII() sem problemas. Perdi alguma
informação no meio do caminho, mas a maior parte dos dados foi copiada.

Procurei em posts antigos na lista e vi que o Otávio precisou fazer algo
nesse sentido.
Alguém já se deparou com essa situação? Como resolveu?

Será que daria para implementar uma outra função de conversão no PostgreSQL
(i.e: CREATE CONVERSION utf8_to_ascii)?

--
Rodrigo Hjort
http://icewall.org/~hjort
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a