1. 程式人生 > >URL傳參中不能帶特殊的字元以及處理方案

URL傳參中不能帶特殊的字元以及處理方案

有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那麼就要使用他們的編碼了。編碼的格式為:%加字元的ASCII碼,即一個百分號%,後面跟對應字元的ASCII(16進位制)碼值。例如 空格的編碼值是"%20"。 
如果不使用轉義字元,這些編碼就會當URL中定義的特殊字元處理。 

下表中列出了一些URL特殊符號及編碼 十六進位制值 
1.+ URL 中+號表示空格 %2B 

2.空格 URL中的空格可以用+號或者編碼 %20 

3./ 分隔目錄和子目錄 %2F 

4.? 分隔實際的 URL 和引數 %3F 

5.% 指定特殊字元 %25 

6.# 表示書籤 %23 

7.& URL 中指定的引數間的分隔符 %26 

8.= URL 中指定引數的值 %3D

可以採用JS的編碼方法:

1.        escape - 採用ISO Latin字符集對指定的字串進行編碼。不會被此方法編碼的字元: @ * / +

2.        encodeURI - 把URI字串採用UTF-8編碼格式轉化成escape格式的字串不會被此方法編碼的字元:! @ # $& * ( ) = : / ; ? + '

3.        encodeURIComponent - 把URI字串採用UTF-8編碼格式轉化成escape格式的字串。不會被此方法編碼的字元:! * ( ) '