做一个应用,解析服务器端的一个xml文件
<?xml version='1.0' encoding='gb2312'?>于是我用BufferedReader把它读了进来
BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"gb2312"));解析出的中文string如果直接放到android这边的textview里面是乱码的
于是我textview.setText(new String(string.getBytes("gb2312"),"utf-8"));这样的话大部分的字符都正常了,还有个别的字符是乱码,请教各位大神需要怎么设置android这边才能让gb2312的字符串无乱码正常显示?

解决方案 »

  1.   

    全部用utf-8看看:
    textview.setText(new String(string.getBytes("utf-8"),"utf-8"));
      

  2.   

    静态网页解决乱码是统一编码方式,gbk或utf-8
      

  3.   

    您跟我开玩笑呢...InputStreamReader都是"gb2312"得到的,而且打出来在控制台没有乱码,textview.setText(new String(string.getBytes("utf-8"),"utf-8"));跟textview.setText(string);有区别么=-=
      

  4.   

    不会呀,我很多地方都是这样转的。从没出现过乱码的问题。。
    txtintro.setText(URLDecoder.decode(intro.get(0).getTypeDis(),"gb2312"));
      

  5.   

    问题找到了⊙﹏⊙b为了早点儿断开urlconnection,我先用BufferedReader把InputStream转成String存了了下来
    然后用Document解析的时候,把String再转成InputStream,这里用了ByteArrayInputStream转
    结果String.getBytes()没指定编码方式....改成String.getBytes("gb2312")就好了...