编码URI(空格等),不编码非ASCII字符

时间:2012-02-23 16:02:27

标签: 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  

我的问题:

  1. 是否需要编码非ASCII?
  2. 是否有任何只编码特殊字符的函数? (没有非ASCII)

1 个答案:

答案 0 :(得分:1)

  1. 没有
  2. http://www.w3.org/Addressing/URL/5_BNF.html中可以阅读:

    “国家”和“标点符号”字符不会出现在任何作品中,因此可能不会出现在网址中。