Em 11 de junho de 2010 13:55, Luís Ribeiro <[email protected]> escreveu:

> Pessoal,
>    no processo de migração do banco SQL Server para PostgreSQL já foi
> criado toda a estrutura em post.  Agora preciso migrar os dados das tabelas
> e para isso estou utilizando o comando "copy from". Estou conseguindo
> realizar a inserção, mas apenas se não houver nenhum caracterer acentuado,
> se não ocorre o seguinte erro dizendo :
>
> ERRO:  sequência de bytes é inválida para codificação "UTF8": 0xe36f20
>
> Quando altero na mão o arquivo retirando apenas o acento, consigo carregar
> a tabela a partir dele.  Depois realizo o update e consigo alterar o texto
> para acrescentar o acento, voltando com isso para o texto original.
>
> Gostaria de saber se haveria uma forma de, através do comando copy, levar
> em consideração os caracteres acentuados.
>
>
Esse problema é que o encoding dos dados que vc está importando é diferente
do da tua base.
Qual o encoding dos dados de origem???

Tem ferramentas, como o "recode" e "iconv", para converter teus dados de um
encoding para outro.

Outra alternativa seria setar o "client_encoding" antes de rodar o "copy
from", por exemplo:

set client_encoding to 'iso-8859-1';

copy tabela1 from '/tmp/tabela1.txt';
copy tabela2 from '/tmp/tabela2.txt';

Com isso basta vc ter certeza do encoding dos teus arquivos de origem.

Espero ter ajudado.

-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a