编码“UTF8”的无效字节序列

invalid byte sequence for encoding “UTF8”

我正在尝试使用 gpload 功能将 3GB(2400 万行)csv 文件加载到 greenplum 数据库,但我不断收到以下错误

错误 -

 invalid byte sequence for encoding "UTF8": 0x8d

我有 tried solution provided by Mike 但对我来说,我的 client_encoding 和文件编码已经相同。两者都是 UNICODE。

数据库-

show client_encoding;
"UNICODE"

文件-

file my_file_name.csv
my_file_name.csv: UTF-8 Unicode (with BOM) text

我也浏览了Greenplum的documentation,上面说外部文件和数据库的编码应该匹配。它在我的情况下是匹配的,但不知何故它失败了。

我也上传了类似的小文件(相同的 UTF-8 Unicode(带 BOM)文本)

感谢任何帮助!

发布在另一个线程中 - 使用 iconv 命令从您的文件中删除这些字符。 Greenplum 使用字符集实例化,默认为 UTF-8,并要求所有字符都属于指定的字符集。您还可以选择使用 EXTERNAL TABLE 的 LOG ERRORS 子句记录这些错误。这将捕获不良数据并允许您继续设置您在创建期间指定的 LIMIT。

iconv -f utf-8 -t utf-8 -c file.txt

将清理您的 UTF-8 文件,跳过所有无效字符。

-f is the source format
-t the target format
-c skips any invalid sequence