一、問題闡述
? 用 URL傳參 數的時候,用&符號連接,如果某一個參數中含"#$ ^ & * + ="這些符號的時候,在另一個頁面getParameter就會取不到 傳 過來的參數。
二、解決方法
?? 有些符號在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
三、附錄
用URLEncoder.encode()也可以得到上面字符的特殊編碼。
String a="=";
try {
??? System.out.println(URLEncoder.encode(a, "UTF-8"));
} catch (UnsupportedEncodingException e) {
??? e.printStackTrace();
}
輸出結果:%3D
?
?今碰到一個頭疼的問題,我在javascript中有一個url鏈接,其中這個url有兩個參數,用&鏈接。本來我想是javascript處理特殊字符問題。所以我就在
ShowArticle.aspx?CategoryID=5
&
ArticleID=27
改成
ShowArticle.aspx?CategoryID=5
\&
ArticleID=27
,可是
不行
。找了大量資料,原來不是javascript處理特殊字符物體,而是url處理特殊字符問題。所以我把
ShowArticle.aspx?CategoryID=5
&
ArticleID=27
換成ShowArticle.aspx?CategoryID=5
%26
ArticleID=27,
行了
。
javascript中的特殊字符如下:
\’ 單引號?
" 雙引號?
\& 和號
?
\\ 反斜杠?
\n 換行符?
\r 回車符?
\t 制表符?
\b 退格符?
\f 換頁符?
url中的特殊字符如下:
+ 表示空格(在 URL 中不能使用空格) %20
/ 分隔目錄和子目錄?????????????????? %2F
? 分隔實際的 URL 和參數??????????????? %3F
% 指定特殊字符???????????????????????? %25
# 表示書簽 ?????????????????????????? %23
& URL 中指定的參數間的分隔符?????????? %26
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
