【发布时间】:2015-10-06 01:23:47
【问题描述】:
我使用 intellij idea 和 tomcat 8,这是我的过滤器:
@WebFilter(urlPatterns = { "/*" }, initParams = {@WebInitParam(name = "encoding", value = "UTF-8", description = "Encoding Param") })
public class EncodingFilter implements Filter {
private String code;
public void init(FilterConfig filterConfig) throws ServletException {
code = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
String codeRequest = servletRequest.getCharacterEncoding();
if (code != null && !code.equalsIgnoreCase(codeRequest)) {
servletRequest.setCharacterEncoding(code);
servletResponse.setCharacterEncoding(code);
}
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy() {
code = null;
}
}
我不明白为什么,但它不起作用,当我输入英文单词时一切正常,但是当我输入俄语字母时,它是这样的:
String address = request.getParameter(PARAM_NAME_ADDRESS);
//**address : ЮзеÑова 12 144**
我的jsp中有这个:
<%@ page contentType="text/html; charset=UTF-8" language="java" pageEncoding="UTF-8" %>
可能是什么问题?
【问题讨论】:
标签: java tomcat servlets encoding servlet-filters