今天突然遇到一个需求,用户名需要使用中文登录,尼玛,我也是第一次听说要中文登录的,后台的小伙伴说你转码 UTF-8就没问题了,之后我试了很多次就是不行,之后我才发现,原来需要进行Encode,把其中的中文、特殊符号&%和空格都必须进行转译才能正确访问。
//先把中文转 UTF-8后使用该方法进行Encode即可- (NSString *)UrlValueEncode:(NSString *)str{ NSString *result = (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)str, NULL,CFSTR("!*'();:@&=+$,/?%#[]"),kCFStringEncodingUTF8)); return result; }