时间:2021-07-01 10:21:17 帮助过:8人阅读
escape(),主要是 js 的encodeURI() 、encodeURIComponent()跟php 的urlencode() 、rawurlencode()
查阅资料得到的是:
urlencode()对_-.以外的字符都做了处理,并且对空格的编码和其他函数不一样;urlencode()和rawurlencode()对~的处理也不一样encodeURI()不会编码 除_-.外的~!*()'encodeURIComponnect()不会编码 除_-.外的~!@#$&*()=:/,;?+'
假设在UTF-8的编码情况下, 如何统一前后端对URL编解码? 有什么比较好的解决方案,处理这种问题
php和Js各自针对URL编解码方式对部分特殊字符的处理都有所不同。 这里不考虑 escape(),主要是 js 的encodeURI() 、encodeURIComponent()跟php 的urlencode() 、rawurlencode()
查阅资料得到的是:
urlencode()对_-.以外的字符都做了处理,并且对空格的编码和其他函数不一样;urlencode()和rawurlencode()对~的处理也不一样encodeURI()不会编码 除_-.外的~!*()'encodeURIComponnect()不会编码 除_-.外的~!@#$&*()=:/,;?+'
假设在UTF-8的编码情况下, 如何统一前后端对URL编解码? 有什么比较好的解决方案,处理这种问题
转码的作用是为了转义url中的特殊字符,用encodeURIComponnect一直没有问题