1. 程式人生 > >Url引數中出現+、空格、=、%、&、#等字元的解決辦法

Url引數中出現+、空格、=、%、&、#等字元的解決辦法

Url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,抑或是造成不能正常下載檔案(作為Download Url時候),如何是好?解決辦法:就是需要將這些字元轉化成伺服器可以識別的字元;但是為何Url中有這些字元就會出現問題呢?這就得涉及到URL編碼與解碼問題了。

URL編碼與解碼
一般來說,URL只能使用英文字母、阿拉伯數字和某些標點符號,不能使用其他文字和符號。Url的編碼格式採用的是ASCII碼,而不是Unicode,這也就是說你不能在Url中包含任何非ASCII字元,例如希臘字母or中文。比如,世界上有英文字母的網址http://www.abc.com

,但是沒有希臘字母的網址http://www.aβγ.com(讀作阿爾法-貝塔-伽瑪.com)。這是因為網路標準RFC 1738做了硬性規定:

只有字母和數字[0-9a-zA-Z]、一些特殊符號”$-_.+!*’(),”[不包括雙引號]、以及某些保留字,才可以不經過編碼直接用於URL

這意味著,如果URL中有漢字,等特殊字元的時候,就必須編碼後使用。而+,空格,/,?,%,#,&,=,這些字元(不安全),當把他們直接放在Url中的時候,可能會引起解析程式的歧義,因此也必須經過編碼才能使用。

解決辦法
將這些字元轉化成伺服器可以識別的字元,對應關係如下:

這裡寫圖片描述

相關推薦

Url引數出現+空格=%&#字元解決辦法

Url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,抑或是造成不能正常下載檔案(作為Download Url時候),如何是好?解決辦法:就是需要將這些字元轉化成伺服器可以識別的字元;但是為何Url中有這

MySQL出現Multiple primary key defined報錯提示之解決辦法

com mysq 普通 方式 col 想要 字段 定義 文章 創建主鍵可以有兩種方式: create table 表名(字段名 類型,字段名 類型,……primary key(name)); 或者是 create table 表名(字段名 類型 pr

Altium Designer10 覆銅過程出現銅皮與焊盤連線星狀圖解決辦法

1)一般在我們啟動AD軟體,點選放置按鈕“放置多邊形平面”,開始鋪銅的過程中。       如果在預設的情況下,一般會出現如下的截圖:                

Android下載sdk出現如下錯誤時:Failed to rename directory...解決辦法

1、備份tools資料夾 2、將temp資料夾下的ToolPackage.new01改名為tools並替換原來的tools 3、重新啟動SDK Setup 好了,問題解決了,開啟sdk你就可以看到正在下載platform和api了。

url引數有+空格=%&#特殊符號的問題解決

url出現了有+,空格,/,?,%,#,&,=等特殊符號的時候,可能在伺服器端無法獲得正確的引數值,如何是好? 解決辦法 將這些字元轉化成伺服器可以識別的字元,對應關係如下: URL字元轉義 用其它字元替代吧,或用全形的。 +    URL 中+號表示空格    

url引數有+空格=%&#特殊符號的處理

url引數中有+、空格、=、%、&、#等特殊符號的問題解決? 解決辦法: 將這些字元轉化成伺服器可以識別的字元,對應關係如下: URL字元轉義 + URL 中+號表示空格 %2B 空格 URL中的空格可以用+號

使用標籤呼叫struts2的action傳遞動態引數以及引數出現加號特殊字元的處理方法

首先說一下我的web應用是通過<a>標籤呼叫struts2框架下的一個action,給該action傳遞一個引數,然後action通過這個引數進行相應的處理。 方法是: <a href="../actionName?phoneName=XXX">點選

【劍指offer{25-30}】複雜連結串列的複製字串的排列陣列出現次數超過一半的數字最小的K個數連續子陣列的最大和

複雜連結串列的複製、字串的排列、陣列中出現次數超過一半的數字、最小的K個數、連續子陣列的最大和 複雜連結串列的複製 題目描述 輸入一個複雜連結串列(每個節點中有節點值,以及兩個指標,一個指向下一個節

URL引數&和+被轉成空格

     在ajax傳輸密碼串的時候,密碼總是報錯,檢視日誌發現密碼串有很多的空格,檢視在非ajax中傳輸的密碼串,發現密碼串中的&和+都被轉義成了空格。       檢視網上的資料[1]發現   web開發中通過問號(?)方式在瀏覽器位址列中傳值時。瀏覽器是通

安卓開發 RecycleView notifyItemRemoved遇到的那些坑, IndexOutOfIndexException刪除錯亂,陣列越界終極解決方案,多人親測可行

當我們在開發過程中要刪除RecycleView中的某個item時,都喜歡notifyItemRemoved方法帶來的動畫效果,然而,會遇到錯亂的坑,主要有三個,如下: 再刪除後面的item,會發生錯

URL引數如果有+(加號)要對引數進行編碼,後臺取到的加號才不會變為空格

後臺對引數進行編碼的方法:URLEncoder.encode(str); 後臺取引數值時直接寫:String strFileCode = request.getParameter("filecode");即可取得編碼後的值。 附: java沒有方法對應javascript

Eclipse開啟後閃退異常關閉後,啟動閃退的解決辦法

問題描述:         32位Win7系統下 Eclipse開啟便閃退,或者稍微維持十幾分鍾或半小時,還是自動關閉,在虛擬機器桌面內同樣的配置和設定就沒有這個問題,我自己電腦3G記憶體就會出現這樣的閃退或者自動關閉。     &

前端傳遞url引數有中文,後端傳過來的有亂碼,解決方案

一、問題重現: 原始碼:用get方式傳遞 @ResponseBody @RequestMapping(value = {"/findGroupByGroupName/{batchNo

Ubuntu14.04 Wifi 連線不穩定掉線重連問題(終極解決辦法

Ubuntu14.04 Wifi 連線不穩定、上不了網、掉線問題(終極解決辦法) 這可能是我寫的最短的一篇部落格。 用Ubuntu系統的人知道,有線連線比較穩定;一般桌上型電腦不帶網絡卡,自己某寶購買的無線網絡卡插上去後能連線wifi,但是過一分鐘就掉線了,

js實現對url引數數字字母的簡單加解密

function compile(code) { var c=String.fromCharCode(code.charCodeAt(0)+code.length); for

QT5丟失Qt5Core.dll無法定位輸入點於.exe的解決辦法

一、問題描述: Windows 環境下,在QtCreator裡執行Qt5程式,沒有出現問題,但是在工程資料夾下的debug目錄下,雙擊執行生成的.exe檔案,卻提示丟失Qt5Core.dll。 問題解決: 將Qt5Core.dll所在的目錄新增到Win

min-widthmax-widthmin-heightmax-height在IE6下相容的解決辦法

/* 最小寬度 */ .min_width{min-width:300px;/* sets max-width for IE */ _width:expression(document.body.clientWidth < 300 ? "300px" : "auto");}/* 最大寬度 */.max_

如何解決Http請求引數加號變空格問題

問題描述: 當使用.NET編寫Winform程式,構建Http Post 請求,並傳遞若干引數給遠端伺服器時,如果引數中包含加號'+'等符號時,http請求傳送後,伺服器收到並解析時,加號會被解碼為空格。 舉例說明: 若引數中含有:fileName = "[宮崎駿作品全集+

ubantu雙系統安裝解除安裝及卡在登入介面解決辦法(UEFI)

關於分割槽,只要分配的合理即可,不需要完全按照他們的來。 改變啟動項的位置,UEFI建議使用easyUEFI。 三、安裝好後重新啟動,會卡在登入介面(跟顯示卡有關) 可以參考這篇博文改正https://blog.csdn.net/qq_36982160

NIOS II ecliplse出現Symbol 'XX_BASE' COULD NOT BE RESOLVED解決

編寫程序 pos ould blog rate pan cli 解決辦法 gpo NIOS II ecliplse中出現Symbol ‘XX_BASE‘ COULD NOT BE RESOLVED解決 在nios II中,明明system.h中定義了#define xxx_