解決中文問題的最佳實踐示例

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”>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章