在kettle中提取数据时,如果源数据库和目标数据库不是同一数据库,则转换后的中文可能会乱码,因为在中文环境中默认编码格式为UTF-8,其他数据库的编码格式为GBK
要解决此问题,只需在数据库连接中进行配置即可。 具体步骤如下。
1 .点击下图的Transform或jobs的数据库连接。
2 .在弹出的数据库连接中选择选项选项,然后在参数下填写参数“sqddy”。 其value为“gbk”,如下图所示。
这样,就可以解决kettle提取数据过程中中文乱码的问题。
附件:
对于mysql数据库,如果在pentaho平台上执行kettle数据提取,并且上述更改仍然会导致乱码,请考虑以下几点:
1 .在1. pentaho的META-INF/context.xml数据源的url之后添加“use unicode=truesqddy=utf8 dq DBD=utf8”的完整配置
或者在pentaho的数据库中
在连接选项中设置上述参数
1.
2.
factory=' org.Apache.com mons.dbcp.basicdatasourcefactory '
maxActive='20' maxIdle='5'
3.
max wait=' 10000 '用户名称=' root '
password='root '
4.
driver class name=' com.MySQL.JDBC.driver '
URL=' JDBC : MySQL ://localhost :3306/bi? use unicode=truesqddy=utf8 dq DBD=utf8 '
5.
验证查询=' select1' /
检查mysql数据库服务器端字符集是否为utf-8,否则更改为utf-8。