[轉載]J2EE.Web應用中文問題解決方案
對于一個Java初學者來說,經常碰到的一個問題恐怕就是中文問題了。其實很正常,我們有幾千年的悠久歷史嘛,博大精深,豈能是小小的計算機語言所能包容的?呵呵,開個玩笑。但是不可否認的一個事實就是,就算是一個比較有經驗的開發人員,也經常面對著屏幕上的亂碼而大傷腦筋。想究其原因、徹底解決這一問題嗎?follow me……
亂碼原因
java內核是unicode的。但Java總是根據操作系統的默認編碼字符集來決定字符串的初始編碼,而且Java系統的輸入和輸出的都是采取操作系統的默認編碼,而數據庫、文件、網絡傳輸中的字節流……采用的編碼更是各不相同。所以不可避免的就會出現煩人的亂碼問題了。
解決辦法
1、GB2312、GBK、Unicode(UTF8)?
從字符集的大小比較 GB2312 < GBK < UTF8,很顯然,如果我們采用UTF8作為系統編碼的話,是不會有錯的。而且如果你要考慮國際化的話,UTF8似乎是你唯一的選擇
2、開發和編譯代碼時指定字符集為UTF-8
JBuilder和Eclipse都可以在項目屬性中設置。
3、使用過濾器
編寫過濾器



















































在web.xml文件中配置該過濾器


















4、在JSP 中進行聲明
在JSP頭部聲明<%@ page contentType="text/html;charset= UTF-8" %>
在Jsp的html代碼中聲明<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5、數據庫管理
一般數據庫都可以通過管理設置設定UTF-8
也可以通過jdbc鏈接時指定編碼參數,如:mysql:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
6、其它
其他所有和外界交互時能夠設定編碼時就設定UTF-8,例如讀取文件,操作XML等。總之,記住一個原則:在所有系統的出入口處都用
??????? UTF8編碼進行“翻譯”!
posted on 2007-01-09 21:14 會飛的魚 閱讀(153) 評論(0) 編輯 收藏 所屬分類: JSP專欄