java调用接口返回utf8,我用gbk格式的java文件获取的中文部分是乱码。 20
一个网络接口返回的是一个utf8编码格式的xml。我用utf8格式的java文件调用接口,获取的中文字符是完全没有问题的。但是我用gbk格式的java文件调用接口,并进行...
一个网络接口返回的是一个utf8编码格式的xml。我用utf8格式的java文件调用接口,获取的中文字符是完全没有问题的。但是我用gbk格式的java文件调用接口,并进行如下处理,中文字符部分正确,部分乱码,求解答!如果想要看源码,请参考百度语音识别接口中的java例子。
stringSrc = URLEncoder.encode(stringSrc , "GBK"); //stringSrc 就是调用网络接口返回的内容
stringSrc = URLDecoder.decode(stringSrc , "UTF-8");
System.out.println("stringSrc ="+stringSrc );//["百度语音提供????支持??],正确的内容是:[百度语音提供技术支持,"]
现在有点混乱了,按照最开始的想法是:接口返回utf8,但是转换成字符串时,因为文件是gbk,所以字符串就已经被gbk解码了一次。所以我逆过程回去,肯定是没问题的啊,因为结果确实含有正常中文,事实证明我的理解是对的,可是可是可是啊,怎么还有部分乱码了呢?
求高手帮忙消除困惑,先谢过大家了。 展开
stringSrc = URLEncoder.encode(stringSrc , "GBK"); //stringSrc 就是调用网络接口返回的内容
stringSrc = URLDecoder.decode(stringSrc , "UTF-8");
System.out.println("stringSrc ="+stringSrc );//["百度语音提供????支持??],正确的内容是:[百度语音提供技术支持,"]
现在有点混乱了,按照最开始的想法是:接口返回utf8,但是转换成字符串时,因为文件是gbk,所以字符串就已经被gbk解码了一次。所以我逆过程回去,肯定是没问题的啊,因为结果确实含有正常中文,事实证明我的理解是对的,可是可是可是啊,怎么还有部分乱码了呢?
求高手帮忙消除困惑,先谢过大家了。 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |