【ETL】 Kettle数据抽取(转换)出现乱码问题解决方法数据库
在数据库链接这里增长一个option配置项: characterEncoding gbk缓存
并检查全部用到的相关数据库表的字符集为utf-8的session
设置以后不必定当时就生效,可能有缓存,记得清空缓存咯ide
就是这样”If we do lazy conversion, we need to find out about the encoding“,直接勾选”容许延迟转换“便可:blog
这样在从数据库读取的数据就能保持原有字符集,不因默认强制使用utf8致使乱码,在输出时指定文件字符集,就会解决导出到文件中的乱码问题。utf-8
若是导入到目标表的字符集与源表不一样,须要在入库前用select values作字符转换(纯属废话,相同就不会有乱码了):it
整个流程以下io
这样,不管到文件仍是目标表,都不会再有乱码了。class
若是以上还没法解决,能够在Table Input 和Table Output的数据库链接高级选项中设置当前session的字符集;如下除了能够设置session 的字符集,还能够设置日期格式等。乱码
经过以上设置还没法解决,只能归结为RP很差了O(∩_∩)O~