在Java应用开发中,网络交互式是必备的,在下面,整理了一些自己在开发中遇到的乱码问题以及解决办法,这里使用HttpConnection 作为演示:
Java中使用网络请求时的乱码处理
方法一: 设置统一的编码格式
设置统一的编码格式,常用的有 utf-8,gbk
方法二: 在中文中使用统一的编码格式化
将中文使用统一的编码格式进行转换1
String strencoding = new String(str.getBytes("ISO-8859-1","utf-8"));
方法三: 编码与解码
编码使用:1
URLEncoder.encode(“中文”,"utf-8")
解码时使用:1
URLDecoder.decode("中文","utf-8")
需要注意的是: 解码与编码需要使用统一的编码。
方法四: 手动URLEncode 编码
如果前三步骤,仍然没有解决编码问题,可以尝试手动URLEncode编码,
例如:1
http://api.map.baidu.com/telematics/v3/local?keyWord=测试中文
此时的keyword中的值就是中文,可以将上述链接复制到浏览器上,先别急着敲回车,您就可以在浏览器的地址栏上面发现,”测试中文” 中文已经转换为URLEncode编码,如下:1
http://api.map.baidu.com/telematics/v3/local?keyWord=%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87
其中 %E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87 就是 “测试中文”转换后的编码.
小结
以上就是在网络请求中,乱码处理的几种方法。其实归根结底,解决乱码最主要的就是统一编码!