【iOS】OC 网络请求中文转URL编码

在iOS的开发中,有时候一个网络请求用英文请求没问题,用中文请求的时候,就没有数据了,然而安卓又是OK的!
有些人就这么处理下:

NSString  *newUrlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

要是这么处理下就OK的话,那还好,就怕还是没用!

没用的话 ,这个问题就是在于iOS的URL编码问题了!

在这里转一个编码,再去请求就OK了!

NSString *str = @"食品";
NSString * encodedString = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)str,NULL,NULL,kCFStringEncodingUTF8));
NSString * strURL = [NSString stringWithFormat:@"act=goods&op=goods_list&keyword=%@&page=10&curpage=1",encodedString];
NSLog(@"strURL - %@",strURL);
NSURL *url = [NSURL URLWithString:strURL];

log日志:
2017-06-29 11:07:12.597418 ZZZ[356:32703] strURL - act=goods&op=goods_list&keyword=%E9%A3%9F%E5%93%81&page=10&curpage=1

你可能感兴趣的:(【iOS】OC 网络请求中文转URL编码)