java中UTF8转GBK
我们现在开发的web系统是使用struts2+spring+hibernate,我们想使用struts2中带的ajax控件,但是这些控件提交到后台的数据都是UTF-8编码的,比如:我在前台的文本框中输入 你好 ,在后台的action中打印出的是 你好
试了很多的编码方式,都没有转化了
System.out.println("1 - zxm = "+this.tabForm.getZxm());
System.out.println("2 - zxm = "+new String(this.tabForm.getZxm().getBytes("ISO-8859-1"),"UTF-8"));
System.out.println("3 - zxm = "+new String(this.tabForm.getZxm().getBytes("GBK"),"UTF-8"));
System.out.println("4 - zxm = "+new String(this.tabForm.getZxm().getBytes("UTF-8"),"ISO-8859-1"));
System.out.println("5 - zxm = "+new String(this.tabForm.getZxm().getBytes("UTF-8"),"GBK"));
System.out.println("6 - zxm = "+new String(this.tabForm.getZxm().getBytes("UTF-16BE"),"GBK"));
String gbkString = IOUtils.toString(IOUtils.toInputStream(this.tabForm.getZxm(), "UTF-8"));
System.out.println("gbkString = "+gbkString);
String urlString = URLDecoder.decode(URLEncoder.encode(this.tabForm.getZxm(),"GBK"),"GBK");
System.out.println("urlString = "+urlString);
上面的转码有些明显是错误的,望大家不要见笑。
后台打印结果
1 - zxm = 你好
2 - zxm = 你好
3 - zxm = 你好
4 - zxm = 你好
5 - zxm = 你好
6 - zxm = 你好
gbkString = 你好
urlString = 你好
难为高人帮着解决一下,用什么办法把UTF-8的转成GBK 的哈?!
谢谢!!!