解決方法:前端使用encodeURI()加密。后台使用URLDecoder.decode()解密
例:
str=encodeURI(str);
后台--URLDecoder.decode(str,"UTF-8");
encodeURI():把URI字符串采用UTF-8編碼格式轉化成escape格式的字符串。不會被此方法編碼的字符:! @ # $ & ( ) = : / ; ? + '。
反向編碼函數:decodeURI()。
encodeURIComponent():把URI字符串采用URF-8編碼格式轉化成escape格式的字符串。與encodeURI相比,這個函數會將更多的字符進行編碼,比如"/"等字符。所以如果字符串里面包含了URI的幾個部分的話,不能用這個來進行編碼。否則“/”字符被編碼后將URL顯示錯誤。不會被此方法編碼的字符:! * ( )。
反向編碼函數:decodeURIComponent()。
后台加密和解密:
URLEncoder.encode("字符串","UTF-8");//編碼(加密);
URLDecoder.decode("解密","UTF-8");//解密
注:可以使用在線工具試試特殊字符轉碼