在进行http传输的过程,如果有特殊的符合,例如“+,&。*”,不会进行处理,都直接替换掉了。
原因:默认的系统不会对这些特殊符号进行转义,只会进行替换
解决办法:在post之前对这些特殊符号做一次UTF8就可以解决这个问题了
代码如下:
NSString *str = @"打电话给&rp=张三";
NSString *bStr = (__bridge NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)str,
NULL,
CFSTR(":/?#[]@!$&’()*+,;="),
kCFStringEncodingUTF8);