今天在android上用HttpClient接口进行网络访问,在HttpEntity中已经设置编码为utf-8了,而被请求的页面也设置了<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,所有的代码文件编码也为utf-8,但请求后返回的结果显示仍为乱码,后发现是在用EntityUtils.toString()取得返回字符串的时候,默认编码为ISO-8859-1,需要指定toString的第二个参数为utf-8,问题得以解决。
导致乱码程序片段:
String str = EntityUtils.toString(response.getEntity());
正确的程序片段:
String str = EntityUtils.toString(response.getEntity(),"UTF-8");