Javascript 编码URI(空格等),不编码非ASCII字符
当我使用escape/encodeURI/encodeURIComponent对URI进行编码时,Javascript 编码URI(空格等),不编码非ASCII字符,javascript,url,utf-8,url-encoding,Javascript,Url,Utf 8,Url Encoding,当我使用escape/encodeURI/encodeURIComponent对URI进行编码时, 它对特殊字符(如“?[]&”)和所有非ASCII字符进行编码 我更喜欢这样的链接: http:/site.com/?tm=ДОБРОЕ**%20**УТРО 相反: http:/site.com/?tm=%u0414%u041E%u0411%u0420%u041E%u0415**%20**%u0423%u0422%u0420%u041E 我的问题是: 是否需要对非ASCII码进行编码
它对特殊字符(如“?[]&”)和所有非ASCII字符进行编码 我更喜欢这样的链接:
http:/site.com/?tm=ДОБРОЕ**%20**УТРО
相反:
http:/site.com/?tm=%u0414%u041E%u0411%u0420%u041E%u0415**%20**%u0423%u0422%u0420%u041E
我的问题是:
“国家”和“标点符号”字符不会出现在任何产品中,因此可能不会出现在URL中。不要使用
转义
编码为百分比编码。首选encodeURIComponent
。这样,您的URI将被删除,大多数浏览器将在地址栏和href工具提示中正确显示unicode字符。(因此可能会给自己编码一些字符…)不要使用escape
编码为百分比编码。首选encodeURIComponent
。这样,您的URI将被删除,大多数浏览器将在地址栏和href工具提示中正确显示unicode字符。(因此可能会给自己编码一些字符..)