首页 新闻 搜索 专区 学院

Java 关于utf-8 转换为gbk编码的问题

0
悬赏园豆:30 [已解决问题] 解决于 2012-11-23 21:35

由于接口需要,对某些中文字符的编码需要从utf-8转换为gbk,部分代码如下:

在传输中文参数时先进行了URLDecoder.encode编码,然后

String Address = new String(URLDecoder.decode(goodsAddress, "gbk"));
Address = new String(goodsAddress.getBytes(),"gbk");
System.out.println("###Address:"+Address);

按理说应该可以转换成功显示中文,但还是显示乱码,在本地可以正常显示,但是linux服务器上显示乱码,这是为什么呢

jfcjyo的主页 jfcjyo | 初学一级 | 园豆:10
提问于:2012-11-16 18:07
< >
分享
最佳答案
0

URLDecoder.decode

URLDecoder.encode

收获园豆:30
月·漩涡 | 初学一级 |园豆:96 | 2012-11-16 18:13

 呵呵,我题目里已经说了用到这了,并且用到这的时候还是正常的,就是Address = new String(goodsAddress.getBytes(),"gbk");这句不能转换编码,并且这段代码在本地xp下执行是没有问题的,只有放到linux服务器的时候才会出现乱码错误

jfcjyo | 园豆:10 (初学一级) | 2012-11-17 13:11

@jfcjyo: 

和中间件的默认编码有关系么,比如tomcat的默认编码

月·漩涡 | 园豆:96 (初学一级) | 2012-11-17 16:17

这个中间件的默认编码是utf8不能改的,只是有一个接口必须gbk的编码,所以我就按上述方法转了,xp下可以,为啥linux下就还是乱码,真心不明白啊,呵呵

jfcjyo | 园豆:10 (初学一级) | 2012-11-19 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册