问题描述:
AFNewWorking get请求 包含中文入参,后台对数据进行保存,然后出现表中乱码现象
解决过程:
肯定是因为编码的问题,首先这一点是肯定的。问后台他告诉我是utf-8编码格式,因为url包含中文,一般都会先进行转码。
urlStr = @"http://...."(拼接成完整的url)
urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
这样的结果就是,除中文外可以正常保存,中文乱码,如下:
乱码图最后解决办法:
最后告诉我中文编码格式是GB2312,所以还是url转码格式不正确,需要转成GB2312.
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:enc];//中文转码GB2312
NSLog(@"send url-GB2312 - %@ ",urlStr);
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [[AFHTTPResponseSerializer alloc] init];
[manager GET:urlStr parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
网友评论