Bom dia..sim isso mesmo. Estou praticamente nesse mesmo caminho...

Grato.

Santiago.

 

De: pgbr-geral [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de 
Ilton Junior
Enviada em: quarta-feira, 27 de setembro de 2017 09:38
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] RES: RES: converter ascii para utf8

 

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çÇñÑýÝ',
  
                        
'aaaaaaaaaAAAAAAAAAeeeeeeeeeEEEEEEEiiiiiiiiIIIIIIIIooooooooOOOOOOOOuuuuuuuuUUUUUUUUcCnNyY'
                        );


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