日期:2014-05-17  浏览次数:20719 次

新手求教jdbc读取mysql数据库中文乱码的问题,求高人帮忙!问题解决马上给分.在线等...
我想用jdbc读取mysql数据库,在jsp页面展示中文是乱码,发现在dao中读取中文时已经乱码!
mysql数据库编码是latin1,数据库是其他公司的,没法修改编码方式!
我尝试了两种方法解决问题:
一种是在url后面加编码方式url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=UTF-8
一种是在dao中取数据时做设置
SummaryBean sb = new SummaryBean();
sb.setFlowName(new String(rs.getString(1).getBytes("iso-8859-1"),"UTF-8"));
但是这两种方法都没有解决问题!!!!
在线求高手帮忙
jdbc mysql 中文乱码 jsp

------解决方案--------------------
一种是在url后面加编码方式url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=GBK
一种是在dao中取数据时做设置
SummaryBean sb = new SummaryBean();
sb.setFlowName(new String(rs.getString(1).getBytes("iso-8859-1"),"GBK"));

试试。
------解决方案--------------------
http://blog.csdn.net/sclxf/article/details/4878101 百度了下,看对你有帮助吗
------解决方案--------------------
其他公司的系统保存数据的时候是不是使用了GBK编码并且数据库使用了latin1编码呢?如果是那么不作转换直接保存到mysql数据库中,然后他们的系统从数据库中取出来,是不会出现乱码的。
对于这种情况,你不应该采用sb.setFlowName(new String(rs.getString(1).getBytes("iso-8859-1"),"UTF-8"));也不应该对数据库url加上编码方式。而是直接将它从GBK转到UTF-8,sb.setFlowName(new String(rs.getString(1).getBytes("GBK"),"UTF-8"));

------解决方案--------------------
引用:
一种是在url后面加编码方式url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=ISO-8859-1

忘了加这个了,不然还是乱码
new String(values.getBytes("ISO-8859-1"),"GBK"))
------解决方案--------------------
楼主  连接mysql设置字符集的路径应该这样  url=jdbc:mysql://11.76.19.207:3306/dial_asaf_log?useUnicode=true&characterEncoding=UTF8   mysql不叫UTF-8  而是UTF8