android HttpURLConnection类的getInputStream方法返回中文显示乱码问题

来源:互联网 发布:智尚网络 编辑:程序博客网 时间:2024/06/11 08:14

首先提示一下,一般网站的返回编码都为UTF-8。

而在实际过程中,有时候返回的中文乱码导致迷茫,到底这个是什么编码格式呢?

可以采取以下方式确定,将返回的html代码保存成文件,代码参考如下:

              BufferedReader reader_post = new BufferedReader(new InputStreamReader(  
                      conn_post.getInputStream(),"GB2312")); 
                File fp = new File(context.getFilesDir().getAbsolutePath()+"a.txt");// 获取整个返回的HTML代码并写入a.txt    
              PrintWriter pfp= new PrintWriter(fp);
              pfp.print(res_post);
              pfp.close();
             

之后再eclipse里面的某个工程里面导入该文件,设置项目属性,改变编码格式,看实际得到的是哪类编码。

在我这里,发现虽然用了GB2312格式,但是实际上用UTF-8编码格式才能正常显示。

所以正确的返回编码实际上市UTF-8。

另外发现InputStreamReader的编码格式第2个参数大小写敏感,使用GBK与gbk返回不一致,使用大写的返回也是UTF-8,小写的则返回乱码,哪类格式打开都是乱码。

0 0