Web專案中前端頁面通過URL傳中文或 # 特殊字元到後臺出現亂碼解決方案
對於剛入行新手來說碰到URL傳遞中文資料到後臺出現亂碼或是傳遞包含特使符號‘#’後端獲取不到的情況是比較頭疼的事,這裡我就告訴你這兩個的解決的方式;
1.URL傳遞中文
前端頁面:中文字串用 encodeURI(encodeURI())包裹後加入 URL連線中;
在頁面JSP頁面中的URL:
例:window.location.href = '/cm/configuration_management&compile='+encodeURI(encodeURI(“中文字元 串”));
前端頁面接收前端頁面傳來的中文
例: var compile = decodeURI(compile);
後端頁面接收前端頁面傳來的中文
後端:中文字串用 URLDecoder.decode(cph,"UTF-8");包裹後加入 ;
例: String compile = URLDecoder.decode(compile,"UTF-8");//如果頁面都是用UTF-8格式編碼的話。
2.處理前端頁面傳遞包含帶特殊字元‘#’後端獲取不到的情況
前端頁面:特殊字元‘#’用 encodeURIComponent( “#” )包裹後加入 URL連線中;
例:window.location.href = '/cm/configuration_management&positionnum='+encodeURIComponent( “#” );
後端頁面接收前端頁面傳來的特殊字元‘#’
String positionnum = new String( positionnum.getBytes("iso8859-1"),"utf-8"); //在controller中接收轉換