首页 > 代码库 > 关于Struts的中文乱码问题
关于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的中文乱码问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。