Você já pensou em usar o iconv? Ele vem por padrão no linux, e faz a conversão de enconding.
https://pt.wikipedia.org/wiki/Iconv Em qua, 27 de set de 2017 às 09:59, Santiago - NSR <t...@nsr.com.br> escreveu: > 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
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral