IOS项目之AFNetworking中文乱码问题

在iOS项目中,使用AFNetworking进行网络请求时遇到中文乱码问题,表现为首次请求乱码,后续请求正常。通过Charles抓包发现请求头未设置编码规则。解决方案是设置请求头的`Content-Type`为`application/x-www-form-urlencoded; charset=utf-8`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在IOS项目开发过程中,使用AFNetworking做网络请求模块,

后台服务器出现中文乱码情况,而且乱码情况十分怪异:

同样的中文数据,第一次请求就是乱码,以后的请求就正常……

如果再次将请求的中文数据修改后,再次请求则乱码,继续请求则正常……

针对这种情况,我真心没办法定位错误原因……

纠结了好久之后,我想到使用Charles抓取AFN的请求包内容查看,


这是未进行任何设置的AFN请求头文件,我们可以发现,没有设置编码规则的数据

所以知道了这个原因之后,便对头文件参数进行设置

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

            [mgr.requestSerializer setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];

好了,如此就解决了中文乱码的问题

至于网络上给出的服务器端解码问题,有时候真的也是冤枉了做服务器的兄弟们。

希望这对你们有帮助

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值