xlsx导入mysql乱码_Excel数据导入到数据库乱码问题

本文探讨了Excel文件以gb2312、GBK或UTF-8编码导入到编码为ISO-8859-1的Informix数据库时的乱码问题。解决方案是使用JDK API中的String构造函数进行数据转码。分享了解决乱码的关键步骤和构造函数用法。
摘要由CSDN通过智能技术生成

1、环境

服务器   AIX:编码"ISO-8859-1"

数据库  informix:编码"ISO-8859-1"

页面编码:"ISO-8859-1"

2、Excel导入中文乱码问题

问题描述:

在Excel文件中,通过jxl框架导入到数据库中,为乱码,显示在页面也为乱码。

原因分析:

可能因为在Excel文件中编码为gb2312,GBK或UTF-8,而导入到数据库中为"ISO-8859-1",中间没有进行转码

导致存到数据库中为乱码,而页面编码也为"ISO-8859-1",读的就是数据库的内容,也为乱码。

解决办法:

在Excel数据导入到数据库之前先进行转码,如下

new String(shortname.getBytes("gb2312"),"ISO-8859-1")

该构造方法在JDK API里描述如下

String(byte[] bytes, String charsetName)

构造一个新的 String,方法是使用指定的字符集解码指定的字节数组。

备注:

String(byte[] bytes, String charsetName) 方法在解决其他乱码问题,同样有效

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2008-11-05 08:47

浏览 3901

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值