之前在项目中遇到webView加载URL时,因为URL中有特殊字符,导致页面无法加载,而且在- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType代理方法中获取的request.URL是Null。一般来说我们调用webVIew的时候,只要给webVIew传一个url,在网页里面就可以显示网页信息。但是当我们传的url比较麻烦或者带文字符,带参数的时候我们需要对特殊字符进行转义。
有两种方法:
一、使用NSString的方法:
1.字符串加百分号转义使用编码 (这个方法会把参数里面的东西转义) NSString *str1 = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 2.字符串替换百分号转义使用编码 NSString *str1 = [string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
二、使用CFStringRef的方法:
url = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefaul