事情越来越杂了......新来的员工问我是干啥的,我就说是打杂的,基本上不是开发的事情都干。
背景:现在需要按照业务编码、登记序号(开发测试通过)等信息增量的同步开发库的数据到测试环境,用kettle去做这样的同步。
开发库和测试库是同一个mysql数据库服务器下不同的shemas而已,最后导到测试库的数据库出现中文乱码。
然后就开始百度了:
添加characterEncoding为utf8的设置,可以看到数据源连接的高级选项中都已经显示的制定字符集为utf8,但是文本文件输出和插入数据都是乱码;
数据库字符集都是utf8的,我试着指定为characterEncoding=gbk,然而还是乱码。
最后:
在jvm的启动参数中,添加 了介个参数-Dfile.encoding=UTF-8,乱码问题就解决了(PS:kettle在windows下跑的,然而数据库是utf8,这是个坑)。贴在这里吧,如果你试了很多方法都不行,不妨指定kettle这个程序的字符集。