概述
在开发过程中经常会遇到使用webView问题,正常我们加载webView
NSURL* url = [NSURL URLWithString:[NSObject isEmptyOrNull:_linkString] ? @"" : _linkString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];//创建NSURLRequest
[_webView loadRequest:request];
这样我们就加载了webView
可是如果加载webView链接存在中文的时候经常就会出现加载链接失败的问题,这个是因为转码问题导致的,所以我们要加载这个链接的就要做一些特殊处理。
NSString *newLinkString = (NSString*) CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)_linkString,(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",NULL, kCFStringEncodingUTF8));
这样我们就可以过滤到一些转译后的特殊字符,这样我们就可以加载链接中包含中文的链接。
具体代码:
NSString *newLinkString = (NSString*) CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)_linkString,(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",NULL, kCFStringEncodingUTF8));
NSLog(@"newLinkString - - - - - - - - - - %@", newLinkString);
NSURL* url = [NSURL URLWithString:[NSObject isEmptyOrNull: newLinkString] ? @"" : newLinkString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];//创建NSURLRequest
[_webView loadRequest:request];
这样我们就可以加载包含中文的链接了(当然没有中文的链接也不会收到影响)。
最后
以上就是大力马里奥为你收集整理的iOS 解决WebView加载中文链接失败原因的全部内容,希望文章能够帮你解决iOS 解决WebView加载中文链接失败原因所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复