1、Java內部運算中,所有涉及到的字符串處理都會被轉換爲UTF編碼來處理,這種轉換是在
Java內部進行的。相反,當Java系統向外部輸出字符串的時候也會轉換爲其他的字符編碼。
比如,輸入Java系統的字符編碼爲GBK,但輸出的字符編碼爲ISO-8859-1。那麼在做這種
轉換的時候就會出現亂碼。
2、指定統一的字符集,可以選擇ISO-8859-1,GBK,UTF-8。統一編碼爲ISO-8859-1和GBK
雖然帶來編碼的方便,但是各自只能在相應的語言的操作系統上運行。比如ISO-8859-1字
符集是英文操作系統默認的字符集;GBK是中文操作系統默認的字符集。有沒有一種字符
集能夠在不同語言平臺中具有更好的兼容性呢? 有,就是將Java系統的統一編碼定義爲
UTF-8,UTF-8是一種兼容所有語言的編碼方式!如果將Web應用的入口和出口全部設定爲
UTF-8的字符集,就能杜絕中文亂碼的出現。
設定Web應用出口和入口統一爲UTF-8字符集的步驟如下:
1、添加過濾器,統一輸入字符集編碼:SetCharacterEncodingFilter.java
2、JSP頭部聲明,統一輸出字符集編碼:
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
3、HTML代碼聲明,統一輸出字符集編碼:
<meta http-equiv="Content-Type"content="text/html; charset=utf-8">
4、設定數據庫字符集,統一數據庫讀取文本字符集:
5、其他和外界交互,統一其他文本文件輸入輸入字符集:當應用需要讀
寫文件或者操作XML時,那麼應該將這些文本字符集設定爲UTF-8
6、服務器字符集設定:Tomcat服務器設置,修改<Connector port=“8080” URIEncoding=“UTF-8”>