徹底解決springMVC中文亂碼
阿新 • • 發佈:2018-01-11
exceptio bubuko 頁面 onf 所有 character n) 進行 strong
一、頁面編碼
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
二、URL中的亂碼
改tomcat中server.xml中Connector的port=“8080”,加上一個 URIEncoding=”utf-8”
三、配置過濾器,指定所有請求的編碼
(1)配置spring的編碼過濾器,為了防止spring中post方式提交的時候中文亂碼,方法:修改web.xml文件,添加spring的編碼過濾器
<!-- 配置編碼方式過濾器,註意一點:要配置在所有過濾器的前面 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*View Code</url-pattern> </filter-mapping>
(2)配置編碼過濾器,方法:先創建filter類,再修改web.xml文件,註意的是放在spring的編碼過濾器之後
filter類:
package com.qiyuan.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException;View Codeimport javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EncoidingFilter implements Filter { private String encoding=""; @Override public void destroy() { // TODO Auto-generated method stub } //過濾方法 是否往下執行 @Override public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest)arg0; HttpServletResponse response=(HttpServletResponse)arg1; request.setCharacterEncoding(encoding); response.setCharacterEncoding(encoding); //過濾通行證 chain.doFilter(request, response); } //根據web.xml文件的配置進行初始化 @Override public void init(FilterConfig arg0) throws ServletException { this.encoding = arg0.getInitParameter("Encoding"); } }
修改web.xml,添加如下配置:
<!-- 配置編碼過濾 --> <filter> <filter-name>EncoidingFilter</filter-name> <filter-class>com.qiyuan.filter.EncoidingFilter</filter-class> <init-param> <param-name>Encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EncoidingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>View Code
四、文件編碼
將文件另存為utf-8格式
五、數據庫編碼
連接字符串指定編碼格式
public static String URL="jdbc:mysql://127.0.0.1:3306/mvcdb?useUnicode=true&characterEncoding=UTF-8"
創建數據庫的時候指定utf-8編碼格式
六、其他參考資料
http://www.cnblogs.com/javahr/p/8268983.html
徹底解決springMVC中文亂碼