Android解析gb2312编码的xml文件并显示

dawnrain132108 2012-09-05 02:34:43
做一个应用,解析服务器端的一个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的字符串无乱码正常显示?
...全文
246 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawnrain132108 2012-09-07
  • 打赏
  • 举报
回复
问题找到了⊙﹏⊙b

为了早点儿断开urlconnection,我先用BufferedReader把InputStream转成String存了了下来
然后用Document解析的时候,把String再转成InputStream,这里用了ByteArrayInputStream转
结果String.getBytes()没指定编码方式....改成String.getBytes("gb2312")就好了...
q7632868 2012-09-06
  • 打赏
  • 举报
回复
不会呀,我很多地方都是这样转的。从没出现过乱码的问题。。
txtintro.setText(URLDecoder.decode(intro.get(0).getTypeDis(),"gb2312"));
dawnrain132108 2012-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

不会呀,我很多地方都是这样转的。从没出现过乱码的问题。。
txtintro.setText(URLDecoder.decode(intro.get(0).getTypeDis(),"gb2312"));
[/Quote]
可是放到安卓上就不行了啊...
dawnrain132108 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

全部用utf-8看看:
textview.setText(new String(string.getBytes("utf-8"),"utf-8"));
[/Quote]
您跟我开玩笑呢...InputStreamReader都是"gb2312"得到的,而且打出来在控制台没有乱码,textview.setText(new String(string.getBytes("utf-8"),"utf-8"));跟textview.setText(string);有区别么=-=
yi8090 2012-09-05
  • 打赏
  • 举报
回复
静态网页解决乱码是统一编码方式,gbk或utf-8
AMinfo 2012-09-05
  • 打赏
  • 举报
回复
全部用utf-8看看:
textview.setText(new String(string.getBytes("utf-8"),"utf-8"));

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧