在IOS项目开发过程中,使用AFNetworking做网络请求模块,
后台服务器出现中文乱码情况,而且乱码情况十分怪异:
同样的中文数据,第一次请求就是乱码,以后的请求就正常……
如果再次将请求的中文数据修改后,再次请求则乱码,继续请求则正常……
针对这种情况,我真心没办法定位错误原因……
纠结了好久之后,我想到使用Charles抓取AFN的请求包内容查看,
这是未进行任何设置的AFN请求头文件,我们可以发现,没有设置编码规则的数据
所以知道了这个原因之后,便对头文件参数进行设置
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
[mgr.requestSerializer setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
好了,如此就解决了中文乱码的问题至于网络上给出的服务器端解码问题,有时候真的也是冤枉了做服务器的兄弟们。
希望这对你们有帮助