AIX DB2表数据导入到Linux系统mysql数据库中文乱码问题

本文探讨了如何处理从db2(GB18030)到MySQL(UTF-8)的中文数据导入过程中出现的乱码问题,通过多次尝试包括设置编码、数据转换和数据库导入选项,最终找到使用GBK编码导入并确保编码一致性的解决方案。
摘要由CSDN通过智能技术生成

引言

在一次db2表中数据导入到mysql数据库操作中出现了中文乱码的情况,AIX编码格式是GB18030,db2数据库编码格式是GBK,Linux和mysql都是UTF-8的编码,两边编码不一致导致了中文乱码的问题。

正文

1.第一次尝试在db2数据库中导出数据直接用了export命令导出

export to tablename.del of del select * from tablename

然后mysql数据库中使用了load data导入,导入命令中设置了utf8编码

load data local infile "tablename.del" into table newtablename character set utf8........

最后发现导入中文乱码。

2.第二次尝试在db2数据中导出数据设置了UTF-8编码导出

export to tablename.del of del modified by codepage=1208 select * from tablename 

在mysql数据库中导入没有再使用UTF-8的编码设置了,最后发现导入中文乱码。

3.第三次尝试db2数据库中导出没有设置编码,以默认形式导出,然后把文件传到Linux中后使用iconv对文件编码进行了转换输出

iconv -c -f gbk -t utf-8 tablename.del -o newtablename.del 

然后再次导入到mysql,发现还是乱码。

4.最后尝试db2数据库默认导出文件后,在mysql中导入把编码格式设置成gbk中文就没有乱码了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值