我用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>