Spring MVC 前台get请求的时候controller中拿到中文字符乱码

问题如题:

网上找了很多关于JAVA EE中文乱码的问题:

1、页面中添加 utf-8的源文件   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  无效

2、因为使用了spring,所以在web.XML中写入了过滤器 

       <!--解决页面乱码问题 -->
   <filter>
        <filter-name>characterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>

但还是无效

3、在拿取参数的时候,先设置成utf-8来解析   request.setCharacterEncoding("utf-8");   依然无效

4、最终,查看官方文档,查看出,默认的tomcat解析文档 是 ISO-8859-1 所以需要在  server.xml中的connector中添加uRIEncoding="UTF-8" 属性(注意大小写) 还是无效

我都快哭了,各种方法都不行,后来无意中发现一个现象,我的请求是需要打开新窗口的,也就是有target=_blank的属性,将_blank改成_self就ok,但是我需要使用新窗口啊,怎么办?

送js入手,get不行,咱就手动改成post,利用form来进行传递

具体方式:

<form name='form1' method='post'>  
	<input type='hidden' name='type' value="${basicHeader.lookUpType }"/>  
	<input type='hidden' name='mean' value="${basicHeader.meaning }"/>  
	<input type='hidden' name='des' value="${basicHeader.description }"/>  
	<a href="javascript:basicToUpdate('/BYD_GIB/basic/headerToUpdate.do')">${basicHeader.lookUpType }</a>  
</form>  
  function basicToUpdate(rURL){   			 
	document.form1.action = rURL;   
	document.form1.target = "_blank";
	document.form1.submit();   
  } 

到此为止,问题解决。留下此贴作为以后的参考,同时给朋友们一些帮助!!





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值