本文主要是介绍HttpURLConnection中文乱码分析和解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
HttpURLConnection中文乱码分析和解决
产生中文乱码一般都是编码格式不匹配导致的,例如后台使用UTF-8编码格式,而移动端在接收数据时采用Iso 或者 GBK等格式,而往往我们所使用的网络编程工具在我们步明确指定编码格式的情况下给我们指定的默认格式并非UTF-8.
比如下面这段代码就会导致中文乱码
URL url = new URL(RequestURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();InputStream input = conn.getInputStream();
StringBuffer sb1 = new StringBuffer();
int ss;
while ((ss = input.read()) != -1) {sb1.append((char) ss);
result = sb1.toString();
在这样的操作下,有可能会出现接收到的中文是乱码的,比如后台返回的格式是”UTF-8”,接收到的中文就会是乱码
解决方法进行转码
InputStream input = conn.getInputStream();
InputStreamReader reader=new InputStreamReader(input,"UTF-8");
StringBuffer sb1 = new StringBuffer();
int ss;
while ((ss = reader.read()) != -1) {sb1.append((char) ss);
result = sb1.toString();
**注:**Volley在后台步明确指定编码格式的情况下也会默认采用ISO-8859-1格式
这篇关于HttpURLConnection中文乱码分析和解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!