1.表达post提交乱码
配置过滤器:
Java代码
web.xml配置public class EncodeFilter implements Filter { String encode = null; /** * 初始化过滤器 */ public void init(FilterConfig filterConfig) throws ServletException { encode = filterConfig.getInitParameter("encode"); } /** * 销毁过滤器 */ public void destroy() { encode = null; } /** * 运行过滤器 */ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (encode == null || encode.equals("")) { encode = "GBK"; } request.setCharacterEncoding(encode); response.setCharacterEncoding(encode); chain.doFilter(request, response); } }
<filter> <filter-name>EncodeFilter</filter-name> <filter-class>com.jn100507.filter.EncodeFilter</filter-class> <init-param> <param-name>encode</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncodeFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2.表单get提交乱码
配置tomcat的配置文件server.xml中:
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
加上:
URIEncoding="UTF-8"
3.jsp传中文至另一jsp时乱码
在jsp获取传递的参数时:
String name=new String(request.getParameter ("name").getBytes("ISO-8859-1"),"GB2312");