美文网首页
webview中url特殊字符处理

webview中url特殊字符处理

作者: 雪花啤酒雪花 | 来源:发表于2018-11-29 12:18 被阅读0次

url中经常出现中文,想到最直接的办法是把url转码,如下:

NSString *urlString = @"192.168.1.1/app/index.html#/serviceCase/制造业";

urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet];

NSCharacterSet 中不同方法 处理的特殊字符不一样:

URLFragmentAllowedCharacterSet "#%<>[\]^`{|}

 URLHostAllowedCharacterSet      "#%/<>?@\^`{|}

 URLPasswordAllowedCharacterSet  "#%/:<>?@[\]^`{|}

 URLPathAllowedCharacterSet      "#%;<>?[\]^`{|}

URLQueryAllowedCharacterSet    "#%<>[\]^`{|}

 URLUserAllowedCharacterSet      "#%/:<>?@[\]^`

iOS 9.0以前用这个方法:stringByAddingPercentEscapesUsingEncoding:  。

可能项目中用这种方法转码了 发现webview还是加载不出来,网上找个几种方法还是不行,怎么办呢,这时候你就要搞清楚 系统的转码方法到底转了些什么东西,上面写的很清楚,不管你是用 URLFragmentAllowedCharacterSet还是URLPasswordAllowedCharacterSet,还是其他等等,#号都当着特殊字符转码了,而你的网页中#可能是个锚点不需要转码,不需要转码的你转了网页肯定加载不出来。遇到这种情况要和前端工程师协商,如果是因为中文编码不支持那只转中文就行了,如下:

NSString * parm = [@"制造业" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];

NSString *link = [NSString stringWithFormat:@"192.168.1.1/app/index.html#/serviceCase/%@",parm];

这样写就可以。在你的项目中可能不止是#,/ %等有可能出现,首先搞清楚具体哪些是要转,哪些不要转。目的明确了,对症下药。

相关文章

  • webview中url特殊字符处理

    url中经常出现中文,想到最直接的办法是把url转码,如下: NSString *urlString = @"19...

  • WKWebView 小记

    WKWebView 不支持点击处理电话,邮件等格式化的URL,暂时记录下简单的webView处理 URL 特殊字符...

  • iOS中url的特殊字符转换

    URL特殊字符处理 一般来说我们调用webVIew的时候,只要给webVIew传一个url,在网页里面就可以显示网...

  • URL中特殊字符处理

    URL中含有一些特殊字符可能导致请求结果不正确。 URL字符转义 用其它字符替代吧,或用全角的。 + URL中+号...

  • iOS中webView加载URL需要处理特殊字符

    之前在项目中遇到webView加载URL时,因为URL中有特殊字符,导致页面无法加载,而且在- (BOOL)web...

  • 网址URL中特殊字符转义编码

    网址URL中特殊字符转义编码字符 - URL编码值 URL特殊字符转义,URL中一些字符的特殊含义,基...

  • UIWebView——OC 与 JS交互

    1,在webView 的代理方法中截取指定的URL。 2,根据截取的URL判断URL中指定的特殊字段,去处理对应的...

  • iOS HTTP请求 URL中含有特殊字符处理

    iOS HTTP请求 URL中含有特殊字符 !$&'()*+,;= 处理 有些符号在URL中是不能直接传递的,如果...

  • iOS webview加载PDF空白

    使用webview加载pdf时加载失败,页面空白,需要对url中的中文字符进行处理 新建分类

  • Foundation - NSCharacterSet

    我目前使用过的场景: 1、可以用来处理url上的特殊字符工作记录 - URL编码,特殊字符处理2、可以用来限制文本...

网友评论

      本文标题:webview中url特殊字符处理

      本文链接:https://www.haomeiwen.com/subject/qzmxcqtx.html