【问题标题】:postgresql copy command delimiter non aphanumeric characterpostgresql 复制命令分隔符非字母数字字符
【发布时间】:2013-09-27 08:40:41
【问题描述】:

我在复制由 § 分隔的文件时遇到问题。数据库版本为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。 那么为什么它无法复制由§分隔的文件。

【问题讨论】:

    标签: copy postgresql-9.1 delimiter non-alphanumeric


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 2011-07-13
      • 1970-01-01
      相关资源
      最近更新 更多