在jsp頁面的url連結傳遞中文引數的亂碼問題
已知專案中配置如下:
strust2裡面,在web.xml檔案配置瞭如下:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
在jsp頁面上有擡頭:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
可是還是會出現傳入引數亂碼現象,
在jsp頁面中引數rstStr0裡面有中文,如果直接傳入後臺將會亂碼,如下:
rstStr0 = ‘富強、民主、文明、和諧、自由、平等、公正、法制、愛國、敬業、誠信、友善’;
function Export(){
window.location.href='/szy/export.action?rstArr='+rstStr0;
}
解決方案如下:
1.在jsp頁面中先轉碼如下:
function Export(){
window.location.href='/szy/export.action?rstArr='+encodeURIComponent(rstStr0)
}
在後臺重編碼:
rstArr = new String(rstArr.getBytes("ISO-8859-1"),"UTF-8");
就會獲得到中文正確顯示引數!
2.在jsp頁面中先轉碼如下:
function Export(){
window.location.href='/szy/export.action?rstArr='+encodeURI(encodeURI(rstStr0));
}
在後臺重編碼:
rstArr = URLDecoder.decode(rstStr0,"UTF-8");
就會獲得到中文正確顯示引數!