1. 程式人生 > >Web專案中前端頁面通過URL傳中文或 # 特殊字元到後臺出現亂碼解決方案

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中接收轉換