Android 发送HTTP请求出现编码问题

刚入门Android开发,在用HttpPost方式向服务器发送请求时,遇到编码问题,新手入门的坑,写下分享下,希望对大家有些帮助

首先 content 是我要发送的内容。

用 Httpost发送请求是 服务器接收到的是乱码,

我本身项目用的是默认编码 GBK ,服务器要接收的编码是UTF-8

于是去网上找资料如何从GBK 转UTF-8,

弄了一大堆乱七八糟的都不行,快疯了,

后来我仔细查看我写的HttpPost请求

发现 UrlEncodedFormEntity 这个函数

API 看解析是

An entity composed of a list of url-encoded pairs. This is typically useful while sending an HTTP POST request. 

有两个方法函数

坑爹的出现了


没错,我用的是不带参数的那个(自己回去看看是不是没写参数),参数的意义在于你的参数以什么编码方式放进请求体对象中

不指定参数就会使用默认参数



没错 ,就是 “ISO-8859-1”

坑爹啊,网上找的资料转编码 没错,但是不应该在content 转的,应该在UrlEncodedFormEntity函数指定编码方式就OK 的了

把之前弄的转码全部去掉,只修改一个地方

HttpEntity entity = new UrlEncodedFormEntity(defaultParams,HTTP.UTF_8);

就OK了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值