如何从混合编码文件导入PostgreSQL表

时间:2016-12-29 11:45:34

标签: sql postgresql encoding utf-8 windows-1255

我有一个30 GB的文本文件。该文件的编码是UTF8,但它也包含一些Windows-1252字符。因此,当我尝试导入时,它会出现以下错误:

ERROR:  invalid byte sequence for encoding "UTF8": 0x9b

我该如何解决这个问题?

当我运行'文件时,该文件已经具有UTF8格式。对此文件的命令,它说编码是UTF8。但它也包含一些不是UTF8字节序列。例如,当我在一段时间后运行\ copy命令时,它会为此行提供上述错误:

0B012234    Basic study of <img src="/fulltext-image.asp?format=htmlnonpaginated&src=323K744431152658_html\233_2    basic study of img src fulltext image asp format htmlnonpaginated src 323k744431152658_html 233_2   1975        Semigroup Forum semigroup forum 04861B53        19555

1 个答案:

答案 0 :(得分:1)

问题是由反斜杠(\)引起的 使用不将反斜杠视为特殊字符的CSV格式,例如 -

\copy t from myfile.txt with csv quote E'\x1' delimiter E'\x2'