kettle导入CSV格式的文件到 mysql 数据库中文显示为问号‘?????‘问题(已解决)

记录一下最近用kettle 8.3 导入CSV格式的数据到mysql数据库中所遇到的问题,以及解决的思路,希望对遇到同样问题的老铁有所帮助。
先说明一点数据在excel中是可查看的没有乱码也没有任何问题
1.文件之前的分割符为 $ 入下图
在这里插入图片描述
2.我用UE 做了分隔符替换为 ,
kettle CSV文件输入控件如下
在这里插入图片描述
3.转换流程如下
在这里插入图片描述

4.导入mysql中显示中文为问号,数字显示正常
在这里插入图片描述
以上是我遇到的问题描述,下面讲一下解决方案,各位搬好小板凳认真做笔记了
1.首先 设置数据库连接中的配置入下图,下图中红色框中的是添加进去的一般情况下是不用配置的在这里插入图片描述在这里插入图片描述
修改完配置后,删除mysql中的数据,重新跑一下kettle,中文显示成功,如下
在这里插入图片描述
如果问题还没解决的老铁先别着急,接着往下看

如果出现下图情况,百分之百可以确定是编码转换的问题,也许你会有像我一样的疑惑,我在读入CSV文件之前,用ue对文件做了字符串分割,为了避免出现乱码问题特意吧文件转为UTF-8,数据库指定的也是utf8,但是出现了如下情况。***这是因为csv格式的文件默认的编码为ANSI格式的,所以读入的时候应该考虑这个问题,***,后来我做的时候是拿到文件之后直接用kettle 的csv 文件读入,编码格式选择GBK,问题也可以解决。
在这里插入图片描述
写在最后的话,以上是我解决问题的全过程,希望可以帮到有相同困惑的小伙伴。如果发现文章有什么错误欢迎指正。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值