随笔 - 16  文章 - 22  trackbacks - 0
<2012年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(3)

我参与的团队

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

// 编码参数
            List<NameValuePair> formparams = new ArrayList<NameValuePair>(); // 请求参数
            for (NameValuePair p : params) {
                formparams.add(p);
            }
            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams,HTTP.UTF_8);
            // 创建POST请求
            HttpPost request = new HttpPost(url);
            request.setEntity(entity);
Android发送HTTP请求,android默认编码已是utf-8。 
问题描述:
如上代码中已经设置了请求为UTF-8,服务器中编码也是全部UTF-8,可是服务器获取中文还是出现乱码。
由于服务器端并非自己开发,无法看到服务器是如何运行的,只知道编码是UTF-8。
同样的服务器,IPHONE客户端发送中文无乱码。

问题解决:
尝试打印Andorid,IPHONE的HTTP头。
发现其中的content-type 不一样。
Andorid :content-type:application/x-www-form-urlencoded; 
IPHONE:content-type:application/x-www-form-urlencoded; charset=utf-8

于是尝试在请求的时候加个头
request.setHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); 

然后问题解决。


posted on 2012-07-12 15:07 rapin 阅读(2156) 评论(1)  编辑  收藏 所属分类: Android

FeedBack:
# re: Android,HTTP请求中文乱码 2012-07-12 23:13 rapin
@注册深圳公司
先保证服务器是POST用的是UTF-8的编码。
尝试从WEB提交一个POST请求,看中文乱码否?
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: