Pentaho Data Integrator 中的错误 - 编码字节序列无效 "UTF8":0x00
Error in Pentaho Data Integrator - invalid byte sequence for encoding "UTF8": 0x00
使用 Pentaho Data Interrogator 插入批量行时出错。我正在使用 PostgreSQL
ERROR: invalid byte sequence for encoding "UTF8": 0x00
PostgreSQL 对文本字段的内容非常严格,不允许在 utf8 编码字段中使用 0x00。您应该修复输入数据。
一些可能的解决方案https://superuser.com/questions/287997/how-to-use-sed-to-remove-null-bytes
"UTF8": 0x00 = "null character"。您可以使用 "Modified Javascript" 步骤,然后按如下方式应用遮罩图案:
function removeNull(e) {
if(e != null)
return e.replace(/[=10=]/g, '');
else
return '';
}
var replacedString = removeNull(fieldToRemoveNullChars);
Select 修改后的 Javascript 输出的新字段,瞧!用于 AS400 传入数据时出现此问题。
终于找到解决办法了:
- 在Table输入中,勾选"Enable lazy conversion"选项
- 输入 "Select Values" 步骤 Select 所有字段,并在强制 "Metadata" 选项卡上输入所有字段的 "UTF-8" 编码。
使用 Pentaho Data Interrogator 插入批量行时出错。我正在使用 PostgreSQL
ERROR: invalid byte sequence for encoding "UTF8": 0x00
PostgreSQL 对文本字段的内容非常严格,不允许在 utf8 编码字段中使用 0x00。您应该修复输入数据。
一些可能的解决方案https://superuser.com/questions/287997/how-to-use-sed-to-remove-null-bytes
"UTF8": 0x00 = "null character"。您可以使用 "Modified Javascript" 步骤,然后按如下方式应用遮罩图案:
function removeNull(e) {
if(e != null)
return e.replace(/[=10=]/g, '');
else
return '';
}
var replacedString = removeNull(fieldToRemoveNullChars);
Select 修改后的 Javascript 输出的新字段,瞧!用于 AS400 传入数据时出现此问题。
终于找到解决办法了:
- 在Table输入中,勾选"Enable lazy conversion"选项
- 输入 "Select Values" 步骤 Select 所有字段,并在强制 "Metadata" 选项卡上输入所有字段的 "UTF-8" 编码。