Eclipse * 字节的 UTF-8 序列的字节 * 无效。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse * 字节的 UTF-8 序列的字节 * 无效。相关的知识,希望对你有一定的参考价值。

参考技术A 一开始以为是加载的那个文档太大了,

因为有些是可以跑成功的,

就感觉这项目很不受控制,

一直也没解决,直到实在受不了去查,

才发现原来是很简单的一个UTF-8。。。。。。

项目不报错了,成功运行。

❥(^_-)

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

【中文标题】编码“UTF8”的无效字节序列【英文标题】:invalid byte sequence for encoding “UTF8” 【发布时间】:2019-04-15 14:59:27 【问题描述】:

我正在尝试使用 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)文本)

感谢任何帮助!

【问题讨论】:

你在yaml文件中尝试过latin1编码吗? @JonRoberts latin1 和 UNICODE 一样吗? 不,UNICODE 与 UTF8 相同。 postgresql.org/docs/8.3/multibyte.html 那你为什么推荐latin1? 因为它有时会更好地处理特殊字符,而且它是 UTF8 的子集。 【参考方案1】:

在另一个线程中发布 - 使用 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

【讨论】:

所以我尝试使用 'iconv -c' 转换文件。我认为有些字符即使是 UTF-8 也把事情搞砸了

以上是关于Eclipse * 字节的 UTF-8 序列的字节 * 无效。的主要内容,如果未能解决你的问题,请参考以下文章

xml 3 字节的 UTF-8 序列的字节 3 无效

我怎样才能在全局忽略UTF-8字符串无效的字节序列

1字节的UTF-8序列的字节1无效

1 字节的 UTF-8 序列的字节 1 无效。

2字节的UTF-8序列的字节2无效 解决方案

ant打包 报错 3 字节的 UTF-8 序列的字节 2 无效