关于Struts的中文乱码问题
Posted 那年夏天123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Struts的中文乱码问题相关的知识,希望对你有一定的参考价值。
今天学习Struts遇到了中文乱码问题
首先我的习惯是jsp中的编码方式都设为utf-8,因为mysql中也是utf-8
结果在我的一个表单的传值过程中还是出现了中文乱码
我在网上查阅资料终于找到解决方法:
总之,各处都设成utf-8
然后在 配置文件 web.xml 中设置一个过滤器
<filter>
<filter-name>characterEncoding</filter-name>
<filter-class>com.sz.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后在响应的包下写上代码,设置request的编码为utf-8
package com.sz.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharacterEncodingFilter implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}
然后问题就解决了
以上是关于关于Struts的中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章