頁面傳入後臺出現漢字亂碼解決辦法

 

頁面傳入後臺出現漢字亂碼解決辦法java

 

 

1、若是使用iframe,將參數傳入後臺處理,若是出現漢字亂碼安全

頁面中的iframe服務器

<iframe id="UserInfoIframe" name="UserInfoIframe" style="display: none"></iframe>post

js方法中:spa

var _$param="userName="+Name+"&userID="+Id;//Name爲漢字.net

 _$param=encodeURI(_$param);code

 _$param=encodeURI(_$param);orm

var destUrl="/xxx/GetUserInfo_getInfo.action?"+_$param;get

document.getElementByIdx("UserInfoIframe").src=destUrl;input

後臺處理:

String userName=request.getParameter("userName");

try {

       userName=java.net.URLDecoder.decode(userName,"UTF-8");

}catch (UnsupportedEncodingException e) {

    log4j.error(e.getMessage());

    e.printStackTrace();

}

 

也能夠:

  js方法中不需處理;

  後臺:

        String buttonName=request.getParameter("buttonName");

        buttonName = new String(buttonName.getBytes("GBK"),"UTF-8");

 

 

2、經過form表單提交到後臺

    經過form傳入後臺,提交方式分爲postget兩種。二者的區別須要經過提交表單後纔看得出來,主要是在數據發送方式和接收方式上。PostGet都是表單屬性Method的可選值,Method的默認值爲Get,二者的主要區別在於:

   1.在客戶端,Get方式在經過URL提交數據,提交後在地址欄中的地址會出現傳入到後臺的參數;而Post提交後地址欄中的地址不會出現參數。

   2.在服務器端只能用Request.QueryString來獲取Get方式提交來的數據,用Post方式提交的數據只能用Request.Form來獲取。

    通常來講,儘可能避免使用Get方式提交表單,由於有可能會致使安全問題。好比說在登錄表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。可是在分頁程序中,用Get方式就比用Post好。

    Get把參數添加到action屬性指定的地址中,並以錨方式打開。

    Post經過HTTP post處理髮送數據。

 

    若是將form中的參數含有漢字,提交到後臺有可能也會出現亂碼,通常若是method設置爲「post」,將不會出現亂碼,若是將method設置爲「get」,可能在漢字傳入到後臺後會出現亂碼問題。

 頁面中的form

<iframe id="userInfoIframe" name="userInfoIframe" style="display: none"></iframe>

<form id="userInfoForm" method="post" action="" target="userInfoIframe">

   <input type="hidden" id="pageSize" name="pageSize" value=""/>

   <input type="hidden" id="destPage" name="destPage" value=""/>

   <input type="hidden" id="condition" name="condition" value=""/>

</form>

相關文章
相關標籤/搜索