我是靠谱客的博主 大力马里奥,最近开发中收集的这篇文章主要介绍iOS 解决WebView加载中文链接失败原因,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在开发过程中经常会遇到使用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加载中文链接失败原因所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部