在jsp页面的url链接传递中文参数的乱码问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37279783/article/details/72899060

已知项目中配置如下:

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>
<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");

就会获得到中文正确显示参数!

猜你喜欢

转载自blog.csdn.net/qq_37279783/article/details/72899060