IOS 中文GBK UTF-8转换
GBK ---> UTF8
NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding];
gbk(或者gb2312)---->UTF8
NSStringEncoding gbkEncoding =
CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:gbkEncoding];
注:此方法不能用于AFNetWorking 传参。AF默认用的中文编码格式是UTF8格式。如遇到这种情况则用以下形式传参:
+(void)PostHanZi:(NSString *)URLString parameters:(NSDictionary *)parameters success:(void (^)(id json))success failure:(void (^)(NSError *error))failure { NSLog(@"URLString: %@, parameters: %@", URLString, parameters); NSString *paras = [self DictionaryToCustomString:parameters]; NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:URLString]]; [urlRequest setHTTPMethod: @"POST"]; [urlRequest setHTTPBody:[paras dataUsingEncoding:enc]]; [urlRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; NSURLSessionDataTask *task = [[NSURLSession sharedSession] dataTaskWithRequest:urlRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { dispatch_async(dispatch_get_main_queue(), ^{ if (success) { id JsonDate = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; success(JsonDate); } else { failure(error); } }); }]; [task resume]; }

浙公网安备 33010602011771号