【问题标题】:Error in Pentaho Data Integrator - invalid byte sequence for encoding "UTF8": 0x00Pentaho 数据集成器中的错误 - 编码“UTF8”的字节序列无效:0x00
【发布时间】:2018-07-01 06:43:55
【问题描述】:

使用 Pentaho Data Interrogator 插入批量行时出错。我正在使用 PostgreSQL

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

【问题讨论】:

    标签: postgresql pentaho-data-integration


    【解决方案1】:

    "UTF8": 0x00 = "空字符"。您可以使用“Modified Javascript”步骤,然后按如下方式应用掩码模式:

    function removeNull(e) {
    
    if(e != null)
        return e.replace(/\0/g, '');
    else
        return '';
    }
    
    var replacedString = removeNull(fieldToRemoveNullChars);
    

    为 Modified Javascript 输出选择新字段,瞧!使用 AS400 传入数据时会出现此问题。

    【讨论】:

      【解决方案2】:

      PostgreSQL 对文本字段的内容非常严格,不允许在 utf8 编码字段中出现 0x00。您应该修复您的输入数据。

      一些可能的解决方案https://superuser.com/questions/287997/how-to-use-sed-to-remove-null-bytes

      【讨论】:

        【解决方案3】:

        终于找到了解决办法:

        • 在表格输入中,选中“启用延迟转换”选项
        • 输入“选择值”步骤选择所有字段,然后在强制“元数据”选项卡上为所有字段输入“UTF-8”编码。

        【讨论】:

          猜你喜欢
          • 2022-01-26
          • 2022-07-28
          • 1970-01-01
          • 1970-01-01
          • 2010-11-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多