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

xiaoxiao2021-02-28  160

已知项目中配置如下:

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

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

转载请注明原文地址: https://www.6miu.com/read-43341.html

最新回复(0)