Android,HTTP请求中文乱码 // 编码参数
List<NameValuePair>formparams= newArrayList<NameValuePair>(); // 请求参数
for(NameValuePairp:params){
formparams.add(p);
}
UrlEncodedFormEntityentity= newUrlEncodedFormEntity(formparams,HTTP.UTF_8);
// 创建POST请求
HttpPostrequest= newHttpPost(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");

然后问题解决。

更多相关文章

  1. Android实现远程控制PC(Android[客户端]+Qt[服务器端])
  2. Android日志打印与处理 UncaughtExceptionHandler 提交服务器
  3. Android中文API(136) —— GeoCoder
  4. Android中文API(136) —— Bitmap
  5. Android中文API(132) —— GpsSatellite
  6. Android中文API(134) —— Account

随机推荐

  1. Windows下批量下载Android源码
  2. Android(安卓)UI源码解析
  3. Android(安卓): gen already exists but
  4. Android相关知识集合
  5. Android(安卓)FlexboxLayout的简单了解以
  6. Android提高之多方向抽屉实现方法
  7. Android(安卓)10.0夜间模式和换肤(备份)
  8. Android(安卓)4.4以上 根据uri获取路径的
  9. Android中的Sqlite数据库操作总结
  10. Android中文API(124) ―― DialerFilter