开发中遇到一个用AFNetworking,发送post请求时候,后端收到的数据出现乱码问题(“测è”,”在一起”)。以下有种解决方法。
具体请求代码:
NSString *urlStr = [NSString stringWithFormat:@"%@/image/saveWorkList",kNEWIP];
NSString *token = [IHFMAccountData getSingleInstancetype].token;
NSMutableDictionary *param = [NSMutableDictionary dictionary];
param[@"access_token"] = token;
param[@"doctor"] = doctorName;
param[@"title"] = title;
NSString *appContent = [NSDictionary dictionaryToJson:app_content];
param[@"app_content"] = appContent;//json字符串
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];
// 解决post请求参数乱码问题
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[manager POST:urlStr parameters:param success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"getSeriesData_JAVA-----%@",responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error-----%@",error);
}];
正常的发送的字典参数:
服务器收到的乱码数据:
解决方法:
给manager添加这段代码,就可以解决乱码问题。
[manager.requestSerializer setValue:@”application/x-www-form-urlencoded; charset=utf-8” forHTTPHeaderField:@”Content-Type”];