今天个后台联调接口的时候 post 请求里面包含了中文, 客户端传过去中文就乱码了, 如果后台帮我们把参数转码了, 那么就没问题.如果说, 后台没有给你转码那就需要我们这边提交参数的时候自己转吗,
今天因为这个问题特意尝试很很多方法
1 专门把中文进行UTF-8编码
NSString *content = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
然后在把这个传给你后台 测试结果是不行的
2 设置请求头
[manage.requestSerializer setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
这样穿过去 那么你的所有参数的值就全部变成了 UTF-8的格式了, 还需要后台自动转码 这样也是不行的 这种一般是用于上传文件的 像传少一点的参数就需要用第三种方式
3 设置请求头 但是需要更换 请求头里面的内容
[manager.requestSerializer setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
这样可以完美解决.