我們時常遇到在前端js裡面url傳引數的時候,帶有特殊字元,比如: @ * / +等,在進行解碼的時候出現丟失現象。
例如:前端用encodeuricomponent(str)進行編碼
後台用urldecoder.decode(str, "utf-8")進行解碼
如果str內容帶有+等特殊字元,在解碼的時候會當成空格處理,這個時候出現丟失現象。
解決辦法:編碼兩次,解碼兩次。
前端:encodeuricomponent(encodeuricomponent(str))
後台:urldecoder.decode(urldecoder.decode(resultinfo, "utf-8"),"utf-8");
URL特殊符號處理
有些特殊符號在url中試不能直接傳遞的,如果要在url中傳遞這些符號,就需要使用它們的編碼 否則,將會出現亂碼。十六進製制值 1 url 中 號表示空格 2b 2 空格 url中的空格可以用 號或者編碼 20 3 分隔目錄和子目錄 2f 4 分隔實際的 url 和引數 3f 5 指定特殊字元 25 ...
URL特殊符號的處理
有些符號在url中是不能直接傳遞的,如果要在url中傳遞這些特殊符號,那麼就要使用他們的編碼了。編碼的格式為 加字元的ascii碼,即乙個百分號 後面跟對應字元的ascii 16進製制 碼值。例如 空格的編碼值是 20 如果不使用轉義字元,這些編碼就會當url中定義的特殊字元處理。下表中列出了一些u...
URL中特殊字元處理
如果你的表單使用get方法提交,並且提交的引數中有 等特殊符的話,如果不做處理,在service端就會將 後面的作為另外乙個引數來看待。例如 表單的action為list.jsf?act go state 5 則提交時通過request.getparameter可以分別取得act和state的值。如...