postgresql copy命令分隔符非字母数字字符

时间:2013-09-27 08:40:41

标签: copy postgresql-9.1 delimiter non-alphanumeric

我在复制由§分隔的文件时遇到问题。数据库版本为9.1

文件内容如下:

  

a§b§c
  1§4§5

复制命令:

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

错误:编码“UTF8”的字节序列无效:0xa7

根据我的理解,§是UTF-8字符,数据库编码设置为UTF-8。 那么为什么它没有复制§。

分隔的文件

1 个答案:

答案 0 :(得分:0)

0xa7是iso-latin-1中§的代码,因此传递给COPY的数据流显然是以iso-latin-1而不是UTF-8编码。

作为解决方案,您可以在导入内容的SQL会话中将client_encoding设置为LATIN1,或在导入之前将其转换为UTF-8。