当我将数据从DB2复制到Postgres时,如何将字符代码从Shift-JIS更改为UTF-8?

时间:2015-09-28 09:05:50

标签: postgresql db2 pentaho spoon

我正在尝试使用pentaho ETL将数据从DB2迁移到Postgres。 DB2上的字符代码是Shift-JIS(日语特定字符代码),Postgres是UTF-8。

我可以成功地将数据从DB2迁移到Postgres,但是日语字符没有被正确转换(它已被更改为奇怪的字符..)

当我传输数据时,如何将字符代码从Shift-Jis更改为UTF-8?

1 个答案:

答案 0 :(得分:1)

虽然对我来说有点问题,但我终于可以解决了。

首先,您需要从作业列表中选择“Modified Java Script value”并编写如下脚本。 (我假设表中的值是column1,新值是value1)

steps

这是源代码的示例。 (如果需要,您可以指定多个值)

  

var value1 = new Packages.java.lang.String(new   Packages.java.lang.String( column1 )。getBytes(“ISO8859_1”),“Shift-JIS”)。replaceAll(“”,“”);   //如果您不需要修剪字符串,则无需使用replaceAll()

最后,点击“获取变量”,数值将显示在下表中。

enter image description here

然后,您可以在下一个作业中选择“value1”并将其转换为正确的编码。 (你指定的)