2013-09-27 3 views
0

Je rencontre un problème lors de la copie d'un fichier délimité par §. La version de base de données est 9.1postgresql commande de copie délimiteur non aphanumérique

Contenu du fichier sont comme ci-dessous:

a§b§c
1§4§5

commande Copier:

copy test.test_ingestion (a,b,c) from 'b.csv' CSV HEADER DELIMITER as E'§'; 

Erreur: séquence d'octets non valide pour l'encodage "UTF8": 0xa7

Selon ma compréhension, § est un caractère UTF-8 et le codage de la base de données est défini sur UTF-8. Alors pourquoi ne pas copier le fichier délimité par §.

Répondre

0

0xa7 est le code pour § dans iso-latin-1 donc évidemment le flux de données transmis à COPY est codé en iso-latin-1 plutôt qu'en UTF-8.

En tant que solution, vous pouvez définir client_encoding sur LATIN1 dans la session SQL important le contenu ou les convertir en UTF-8 avant l'importation.

Questions connexes