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

急!!java中奇数中文乱码
我从对方的数据库中查出的数据在后台直接输出时为乱码!加上
new String(str.toString().getBytes("gbk"),"utf-8")输出 时当中文的个数为奇数时最后一个字乱码,为偶数时正常!请各位前辈帮忙解决一下!小弟感激不尽!
------解决方案--------------------
我做项目的时候也遇到过这个问题,我当时的处理方法是,先进行判断是奇数还是偶数,如果是偶数,就这样输出,如果是奇数,则去掉最后一个数,就变成偶数了,然后用String里面一个可以指定长度的构造方法构建String,
String(byte[] bytes, int offset, int length) 
不过我那个需求,是允许只显示部分信息,所以如果是奇数去掉最后一个没有影响,不知道你的需求会不会有影响
------解决方案--------------------
听说gbk编码一个汉字byte数和utf-8不一样,所以会造成这样的结果,听说先把编码转成ISO-8859-1后再转utf-8使他们的byte数一样就可以解决乱码问题了...