阅读 201

【ETL】 Kettle数据抽取(转换)出现乱码问题解决方法

在数据库连接这里增加一个option配置项:   characterEncoding gbk

并检查所有用到的相关数据库表的字符集为utf-8的


设置之后不一定当时就生效,可能有缓存,记得清空缓存咯




就是这样”If we do lazy conversion, we need to find out about the encoding“,直接勾选”允许延迟转换“即可:


这样在从数据库读取的数据就能保持原有字符集,不因默认强制使用utf8导致乱码,在输出时指定文件字符集,就会解决导出到文件中的乱码问题。

如果导入到目标表的字符集与源表不同,需要在入库前用select values做字符转换(纯属废话,相同就不会有乱码了):


 

整个流程如下


这样,无论到文件还是目标表,都不会再有乱码了。

 

 

如果以上还无法解决,可以在Table Input 和Table Output的数据库连接高级选项中设置当前session的字符集;以下除了可以设置session 的字符集,还可以设置日期格式等。


 

通过以上设置还无法解决,只能归结为RP不好了O(∩_∩)O~


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐