当前位置: 代码迷 >> Java Web开发 >> Spring 乱码过滤器的有关问题 -新手简单有关问题
  详细解决方案

Spring 乱码过滤器的有关问题 -新手简单有关问题

热度:78   发布时间:2016-04-17 11:12:53.0
Spring 乱码过滤器的问题 --新手简单问题
我用strus控制action跳转 显示jsp页面提交的信息,提交英文时可以正常显示,提交中文会乱码,所以加入这个过滤器,但是没效果

另外,加上过滤器后是没有效果,也就是说中文还是有乱码,并没有报错,所以很疑惑.另外我的Myeclipse整体环境编码都设置成UTF-8了

Java code
<filter>    <filter-name>CharacterEncodingFilter</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>    <filter-mapping>    <filter-name>CharacterEncodingFilter</filter-name>    <url-pattern>*.jsp</url-pattern>    </filter-mapping>




------解决方案--------------------
我也遇到过这个问题,后来直接是在action中设置的编码
------解决方案--------------------
你过滤的对象只是.jsp
你把.action或者.do,关于action的页过滤一下就可以了。

XML code
    <filter-mapping>    <filter-name>CharacterEncodingFilter</filter-name>    <url-pattern>*.jsp</url-pattern>    <!-- 添加 -->    <url-pattern>*.action</url-pattern>    </filter-mapping>
------解决方案--------------------
我也遇到过这类问题,是数据库引起的.
1。
你的JSP页面有没有指明编码格式。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2。
在jsp页面设置要显示值,可以试试。
String XXX = new String(request.getParameter("XXX").getBytes("ISO-8859-1"),"utf-8");
------解决方案--------------------
一般来说,你整个工程就用一种编码格式。你把这个改了
<url-pattern>/*</url-pattern>
  相关解决方案