亂碼的問題比較常見,確保各地方的編碼格式均統一是保證不出現亂碼的必要條件,但仍是常會有編碼都統一了仍然出現亂碼的狀況。html
<%@ page contentType="text/html; charset=UTF-8" %>
第二步:java
String param= new String(request.getParameter("param").getBytes("ISO-8859-1"), "UTF-8");
package com.test.commons.work; 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 SetEncodingFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("請求轉碼過濾器==================="); request.setCharacterEncoding("utf-8"); chain.doFilter(request, response); } public void destroy() { } }
其次,並在web.xml中添加以下攔截器:web
<filter> <filter-name>Set Encoding</filter-name> <!--包名+類名--> <filter-class>com.test.commons.work.SetEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>Set Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
這樣設置後,每次url訪問都會先通過攔截器,對request進行編碼。app