这是我在解决 struts 中文乱码问题时 发现的一个简单方便的方法 我相信大家一看就明白
System.out.println(new String(str.getBytes("GBK"),"ISO8859_1"));
System.out.println(new String(str.getBytes("GBK"),"utf-8"));
System.out.println(new String(str.getBytes("GBK"),"GB2312"));
System.out.println(new String(str.getBytes("GBK"),"GBK"));
System.out.println(new String(str.getBytes("ISO8859_1"),"GBK"));
System.out.println(new String(str.getBytes("ISO8859_1"),"ISO8859_1"));
System.out.println(new String(str.getBytes("ISO8859_1"),"GB2312"));
System.out.println(new String(str.getBytes("ISO8859_1"),"utf-8"));
System.out.println(new String(str.getBytes("utf-8"),"GBK"));
System.out.println(new String(str.getBytes("utf-8"),"utf-8"));
System.out.println(new String(str.getBytes("utf-8"),"GB2312"));
System.out.println(new String(str.getBytes("utf-8"),"ISO8859_1"));
System.out.println(new String(str.getBytes("GB2312"),"GB2312"));
System.out.println(new String(str.getBytes("GB2312"),"ISO8859_1"));
System.out.println(new String(str.getBytes("GB2312"),"utf-8"));
System.out.println(new String(str.getBytes("GB2312"),"GBK"));
出现中文的就是正确的编码
然后再相应的解决就可以
System.out.println(new String(str.getBytes("GBK"),"ISO8859_1"));
System.out.println(new String(str.getBytes("GBK"),"utf-8"));
System.out.println(new String(str.getBytes("GBK"),"GB2312"));
System.out.println(new String(str.getBytes("GBK"),"GBK"));
System.out.println(new String(str.getBytes("ISO8859_1"),"GBK"));
System.out.println(new String(str.getBytes("ISO8859_1"),"ISO8859_1"));
System.out.println(new String(str.getBytes("ISO8859_1"),"GB2312"));
System.out.println(new String(str.getBytes("ISO8859_1"),"utf-8"));
System.out.println(new String(str.getBytes("utf-8"),"GBK"));
System.out.println(new String(str.getBytes("utf-8"),"utf-8"));
System.out.println(new String(str.getBytes("utf-8"),"GB2312"));
System.out.println(new String(str.getBytes("utf-8"),"ISO8859_1"));
System.out.println(new String(str.getBytes("GB2312"),"GB2312"));
System.out.println(new String(str.getBytes("GB2312"),"ISO8859_1"));
System.out.println(new String(str.getBytes("GB2312"),"utf-8"));
System.out.println(new String(str.getBytes("GB2312"),"GBK"));
出现中文的就是正确的编码
然后再相应的解决就可以