概述 亂碼問題是大家在日常開發過程中經常會遇到的問題,由於各自環境的不同,解決起來也費時費力,本文主要介紹一般性亂碼問題的解決方法與步驟,開發工具採用Eclipse+Tomcat,統一設置項目編碼UTF-8為例,供大家參考。 解決方法與步驟 步驟一:首先,檢查JSP頁面聲明的編碼是否正確,正確示例( ...
- 概述
亂碼問題是大家在日常開發過程中經常會遇到的問題,由於各自環境的不同,解決起來也費時費力,本文主要介紹一般性亂碼問題的解決方法與步驟,開發工具採用Eclipse+Tomcat,統一設置項目編碼UTF-8為例,供大家參考。
- 解決方法與步驟
步驟一:首先,檢查JSP頁面聲明的編碼是否正確,正確示例(註意標紅的地方):
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> </body> </html>
步驟二:在確認步驟一沒有問題後,接下來檢查項目屬性編碼、 JSP 頁面屬性的編碼和 Java 文件的屬性編碼,項目屬性編碼和文件屬性編碼也需要統一設置為 UTF-8 ,正確效果如下圖:
為了方便起見,可以對需要統一編碼的文件格式進行編碼關聯設置,如下圖:
步驟三:在確認步驟二沒有問題後,接下來就需要檢查 Tomcat 的編碼,需要把 Tomcat 的編碼也設置為 UTF-8,找到 Tomcat 安裝目錄下的 conf 目錄下的 server.xml 文件,如果沒有修改過 Tomcat 的埠,則直接搜索8080 ,找到對應的 Connector 標簽加上 URIEncoding 屬性,值為 UTF-8。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
使用 Eclipse 做為開發工具,還需修改 Eclipse 中項目對應的 Tomcat 的配置文件,方法同上。
至此,常用的解決項目中文亂碼的“三碼合一”的配置方法都已經配置好了,為了徹底的解決亂碼問題,我們還可以通過在 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>/*</url-pattern> </filter-mapping>aaaa