while((n=in.read(c))!=-1){
String gbk=new String(new String(c,0,n).getBytes("GBK"), "UTF-8");
String iso = new String(gbk.getBytes("UTF-8"),"ISO-8859-1");
System.out.print("iso="+iso.length());
for (byte b : iso.getBytes("ISO-8859-1")) {
System.out.print(b + " ");
}
System.out.println("okokok="+new String(iso.getBytes("ISO-8859-1"),"UTF-8"));
}
输出结果:iso=6 -27 -113 -81 -17 -65 -67 okokok=可�
----------------------------------------------------------------------------------
怎么转都有乱码,不知道怎么弄了,
源数据是gbk的吗?
c是什么?????????
String gbk=new String(new String(c,0,n).getBytes("ISO-8859-1"), "GBK");
String iso = new String(gbk.getBytes("ISO-8859-1"),"UTF-8");
有几点要确定,统一:
1、你的Tomcat设置为什么编码
2、过虑器设置为什么编码
3、HTML、JSP页面设置为什么编码
while里统一获取完之后再转码吧