


我在filter中配置的编码类型是ISO-8859-1,但是查看时总是UTF-8
1条回答 默认 最新
KK_PLC 2015-03-12 12:14关注
CharacterEncodingFilter
cn.jbit.housestruts.filter.CharacterEncodingFilter
encoding
GBK
CharacterEncodingFilter
/*import javax.servlet.FilterConfig;import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;public class CharacterEncodingFilter implements Filter{
private FilterConfig filterConfig; private String encoding = null; public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; } /** * 过滤器 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { try { if (encoding == null) { encoding = filterConfig.getInitParameter("encoding"); } } catch (Exception iox) { iox.printStackTrace(); } request.setCharacterEncoding(encoding); response.setCharacterEncoding(encoding); HttpServletRequest req = (HttpServletRequest) request; // get请求时,重新编码 if ("GET".equals(req.getMethod())) { Enumeration names = request.getParameterNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); String[] values = request.getParameterValues(name); for (int i = 0; i < values.length; i++) { values[i] = new String(values[i].getBytes("ISO-8859-1"), encoding); } } } filterChain.doFilter(request, response); } public void destroy() { filterConfig = null; encoding = null; }}
这次你再试试,应该不会出问题了...
解决 无用评论 打赏 举报