Bom dia!

Tive um problema parecido, so que no meu caso era de ISO8859-1 para UTF8,
acontece que tinhamos uma infraestrutura desktop baseada na Microsoft, e
quando migramos pra Linux a base mudou devido o S.O Windows usar ISO8859 e
o Linux UTF8. Ao tentar replicar um dump dava erros: Ex invalid byte
sequence for encoding "UTF8": 0xe12020.

Resolvemos usando searchandreplace na database conforme função translate
que você criou, so adicionado alguns outros caracteres que apareciam. tipo
PROFª ou APTº .. Enfim fiz updates na base da seguinte forma:

Ex translate(upper(#campo), 'ÇÁÉÍÓÚÂÊÔÃÕºª°Ñ´', 'CAEIOUAEOAOoaoN ')

Espero ter ajudado!



*Ilton Júnior*
Redes de Computadores | LPIC Sênior *| DBA Pleno*
Cel.: +55 85 9915-5540
E-mail: iltonjunio...@gmail.com

Em 27 de setembro de 2017 09:27, Daniel Luiz da Silva <
daniel.si...@ipm.com.br> escreveu:

>
>
> ------------------------------
> *De: *"Santiago - NSR" <t...@nsr.com.br>
> *Para: *"Comunidade PostgreSQL Brasileira" <pgbr-geral@listas.postgresql.
> org.br>
> *Enviadas: *Quarta-feira, 27 de setembro de 2017 9:03:59
> *Assunto: *[pgbr-geral] RES:  RES: converter ascii para utf8
>
> Bom dia. o banco está em ASCII. Necessito passar para UTF8. Quando uso a
> opção -E UTF8 (do pg_dump) da erro...(ao contrario do que escribi).
> Fiz uma função usando o "translate", estou migrando tabela a tabela e está
> dando certo...
>
> resSTR_        = translate($1,        'áàâãäåaaaÁÂÃÄÅAAAÀéèêëeeeeeEEE
> ÉEEÈìíîïìiiiÌÍÎÏÌIIIóôõöoooòÒÓÔÕÖOOOùúûüuuuuÙÚÛÜUUUUçÇñÑýÝ',
>                         'aaaaaaaaaAAAAAAAAAeeeeeeeeeEEE
> EEEEiiiiiiiiIIIIIIIIooooooooOOOOOOOOuuuuuuuuUUUUUUUUcCnNyY'
>                         );
>
>
> Santiago Cuello
> NSR Informática
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
> --
>
> Bom dia,
> Santiago,
>
> Não sei se já foi falado aqui nesse e-mail, mas é possível setar o
> client_enconding no momento da transação, caso resolva teu problema. segue
> link [1]. Mas acredito que seu problema é porque não está disponibilizado o
> encolding dentro do sistema operacional, veja esse link [2], e avalia se
> resolve tua situação.
> Isso é um assunto bem rico de informação na internet, caso queira
> pesquisar algo irá encontrar bastante conteúdo. Lembre-se que isso é
> um caso que poderá acontecer para qualquer banco de dados e qualquer
> linguagem de programação, então caso não encontre o que deseja em
> PostgreSQL, altera a busca para outros bancos/linguagens de programação,
> que encontrará.
>
> [1]https://www.postgresql.org/docs/current/static/multibyte.html
> [2]https://littleoak.wordpress.com/2008/09/23/corrigindo-maldito-encoding-
> do-postgres-para-poder-usar-banco-de-dados-latin1-ou-
> outro-e-mudar-o-encoding-do-sistema-operacional-ubuntu-ou-debian/
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a