escape函式處理帶加號字串問題
escape函式處理帶加號字串問題
在使用Jqery做ajax操作的時候有中文老是亂碼!必須的使用escape函式編碼才正常,encodeURIComponent等函式都不可以,這是因為url中字元被轉義,比如空格被編碼成加號,於是加號成了空格。我們可以手工將加號編碼成 %2B,eg:
escape(str).replace(//+/g, '%2B');這樣就可以了
(url轉義字元原理
如果表單的action為list.jsf?act=go&state=5
則提交時通過request.getParameter可以分別取得act和state的值。
如果你的本意是act='go&state=5'這個字串,那麼為了在服務端拿到act的準確值,你必須對&進行轉義
[預備知識]
對與通過get方式提交的url,瀏覽器在提交前首先根據http協議把一一個的引數及其值解析配對。而url的引數間是通過&分割的,這就是瀏覽器進行引數配置的分割依據。如果你的引數值中含有&等url特殊字元,那麼你在伺服器端就會拿到意想不到的值。所以必須對url的特殊字元進行轉義。
編碼的格式為:%加字元的ASCII碼,即一個百分號%,後面跟對應字元的ASCII(16進位制)碼值。例如 空格的編碼值是"%20"。
下表中列出了一些URL特殊符號及編碼
十六進位制值
1. + URL 中+號表示空格 %2B
2. 空格 URL中的空格可以用+號或者編碼 %20
3. / 分隔目錄和子目錄 %2F
4. ? 分隔實際的 URL 和引數 %3F
5. % 指定特殊字元 %25
6. # 表示書籤 %23
7. & URL 中指定的引數間的分隔符 %26
8. = URL 中指定引數的值 %3D
所以上述的action你應該寫成list.jsf?act=go%26state=5)
相關文章
- SqlServer——字串處理函式SQLServer字串函式
- 安全字串處理函式字串函式
- oracle函式大全-字串處理函式Oracle函式字串
- php字串處理函式大全PHP字串函式
- SQL字串處理函式大全SQL字串函式
- SQL Server字串處理函式大全SQLServer字串函式
- C語言之字串處理函式C語言字串函式
- 【問題處理】使用trim和 replace處理字串中的換行符號字串符號
- c語言字串處理函式大全C語言字串函式
- attachEvent()註冊事件處理函式this指向問題事件函式
- python字串處理函式大總結Python字串函式
- SQL中的常用的字串處理函式大全SQL字串函式
- 002——php字串中的處理函式(一)PHP字串函式
- 處理PHP中字串的常用操作及函式PHP字串函式
- Linux 訊號signal處理函式--轉Linux函式
- json字串轉義格式化後再轉換處理demo StringEscapeUtils.unescapeJavaJSON字串Java
- 磁碟處理函式函式
- 字元處理函式字元函式
- 教你如何處理Nginx禁止ip加埠訪問的問題Nginx
- 多行文字加省略號的處理方法
- MySQL自定義變數處理行號問題MySql變數
- C++常用字串處理函式及使用示例(轉)C++字串函式
- 函式訪問引數受限的處理方法函式
- 陣列處理函式陣列函式
- Oracle函式-->字元處理Oracle函式字元
- 檔案處理函式函式
- 時間處理函式函式
- 語音訊號處理獲取 NFFT 的自定義函式音訊FFT函式
- C++ 字串 cctype 標頭檔案標準庫處理函式C++字串函式
- jmeter問題處理隨筆1 - CSV取值資料異常處理(包含"號,","號的情況)JMeter
- PHP函式處理函式例項詳解PHP函式
- 對於數字或者字串有限的問題的處理字串
- php中函式前加&符號的作用分解PHP函式符號
- JavaScript 函式呼叫時帶括號和不帶括號的區別JavaScript函式
- 單位元組處理函式函式
- 登錄檔處理函式函式
- MATLAB音訊訊號處理(一):函式簡易用法(audioread,sound函式)Matlab音訊函式
- 【分享】Delphi的內部字串處理函式/過程不完全列表字串函式