Postgres-错误:编码“ UTF8”的字节序列无效:0xca 0x2d

时间:2018-11-05 19:24:19

标签: postgresql

我正在尝试将大量txt文件导入postgres。当我键入以下命令时:

  

\ COPY denton_2018_rawdata来自'C:\ Users \ testu \ Downloads \ denton_county \ 2018-website-all-property \ 2018-08-28_005183_APPRAISAL_INFO.txt'分隔符E'\ x01'

我遇到以下错误:

  

错误:用于编码“ UTF8”的无效字节序列:0xca 0x2d   上下文:COPY denton_2018_rawdata,第22769行:“ 000000027205R 02018000000000000 ...”

所以我尝试了以下命令(添加了编码'WINDOWS-1252'):

  

\ COPY denton_2018_rawdata来自'C:\ Users \ testu \ Downloads \ denton_county \ 2018-website-all-property \ 2018-08-28_005183_APPRAISAL_INFO.txt'分隔符E'\ x01'编码'WINDOWS-1252';

但是仍然出现相同的错误。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

PostgreSQL对UTF8编码非常严格。这是由于可能基于无效UTF8字符进行的SQL注入攻击。首先,您必须知道什么是源编码。其次,在导入到Postgres之前,应该消除所有损坏的字符。

有些应用程序可以完成这项工作-例如iconv