如何消除PHP和JS 对URL编解码的不同之处,统一前后端对URL的编解码
php和Js各自针对URL编解码方式对部分特殊字符的处理都有所不同。 这里不考虑 escape()
,主要是 js 的encodeURI() 、encodeURIComponent()
跟php 的urlencode() 、rawurlencode()
查阅资料得到的是:
urlencode()
对_-.
以外的字符都做了处理,并且对空格的编码和其他函数不一样;urlencode()
和rawurlencode()
对~
的处理也不一样encodeURI()
不会编码 除_-.
外的~!*()'
encodeURIComponnect()
不会编码 除_-.
外的~!@#$&*()=:/,;?+'
假设在UTF-8的编码情况下, 如何统一前后端对URL编解码? 有什么比较好的解决方案,处理这种问题
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
转码的作用是为了转义url中的特殊字符,用encodeURIComponnect一直没有问题