链接编码 - 带汉字

前提:

进行搜索的时候,我们时常会将搜素条件放在链接后面,这样会导致编码问题,从链接中获取的并不是你想要的汉字

解决方案:

在原页面中,对链接进行编码,而且是进行两次编码:encodeURI(encodeURI(string类型));

在另一个页面进行解码:decodeURI(string类型)

疑问:

为什么要进行两次编码,因为服务器端默认会编码一次

 

注意:encodeURI该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。

 

posted @ 2016-12-22 17:30  ^^-^^-  阅读(275)  评论(0编辑  收藏  举报