最近在使用UIWebView加载网络文件,结果在浏览器上能正常打开、下载,在iphone上不行。
打印错误日志发现报错:Error Domain=WebKitErrorDomain Code=101 "(null)
然后debug后会发现加载的url为nil。仔细检查发现url字符串中包含的有中文,需要编码。
之前是将字符串进行UTF8转码,代码如下:
NSString* encodedString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
但这种方法只会解决url中包含有中文的情况,如果url中包含有空格、%、| 等特殊符号时,还是会报错。
通过过一下代码,能彻底把特殊字符进行转码(包括中文)
fileUrl = [fileUrlstringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
亲测有效。
网友评论