<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    [轉載]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、使用過濾器
      編寫過濾器
    package?com.javer.test.language;

    import?javax.servlet.Filter;
    import?javax.servlet.FilterChain;
    import?javax.servlet.FilterConfig;
    import?javax.servlet.ServletRequest;
    import?javax.servlet.ServletResponse;

    /**
    *?<p>Title:?EncodingFilter</p>
    *?
    @author?javer(QQ:84831612)
    *?
    @version?1.0
    *?
    @link?http://blog.csdn.net/java008?
    */

    public?class?EncodingFilter
    implements?Filter
    {
    FilterConfig?config;

    public?void?init(FilterConfig?parm1)
    throws?javax.servlet.ServletException
    {
    this.config?=?parm1;
    }


    public?void?doFilter(ServletRequest?req,?ServletResponse?res,?FilterChain?chain)
    throws?java.io.IOException,?javax.servlet.ServletException
    {
    if?(req.getCharacterEncoding()?==?null?||?!req.getCharacterEncoding().equals("UTF-8"))
    {
    req.setCharacterEncoding(
    "UTF-8");
    }

    chain.doFilter(req,?res);
    }


    public?void?destroy()
    {
    this.config?=?null;
    }

    }

    在web.xml文件中配置該過濾器
    <?xml?version="1.0"?encoding="UTF-8"?>
    <!DOCTYPE?web-app?PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"?"http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>javer‘s?project</display-name>
    <filter>
    <filter-name>EncodingFilter</filter-name>
    <display-name>EncodingFilter</display-name>
    <description>對編碼進行轉換</description>
    <filter-class>com.javer.test.language.EncodingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>EncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>

    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 會飛的魚 閱讀(152) 評論(0)  編輯  收藏 所屬分類: JSP專欄


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    友情鏈接

    開源鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 男人j进女人p免费视频| 亚洲色偷偷综合亚洲AV伊人蜜桃| 青青草国产免费国产是公开| 日韩视频免费在线| 羞羞漫画小舞被黄漫免费| 国产大片91精品免费观看男同| 亚洲AV色欲色欲WWW| 免费A级毛片无码久久版| 一二三四在线观看免费中文在线观看 | 2022国内精品免费福利视频| 亚洲成av人片一区二区三区 | 成人片黄网站色大片免费观看cn| 国产亚洲AV手机在线观看| 国产又黄又爽又大的免费视频| 亚洲成a人片在线观看日本| 18女人腿打开无遮掩免费| 亚洲Av高清一区二区三区| 成人免费视频试看120秒| 免费一级特黄特色大片| 亚洲午夜久久久影院伊人| 日韩午夜理论免费TV影院| 亚洲一区二区三区国产精品无码 | 国产片AV片永久免费观看| 在线精品亚洲一区二区| 国产精品免费看久久久无码| 国产黄片不卡免费| 亚洲五月六月丁香激情| 97无码免费人妻超级碰碰夜夜 | 亚洲国产人成在线观看69网站| 亚洲人成免费电影| 亚洲AV永久无码精品一福利 | 亚洲AV无码成H人在线观看| 中国在线观看免费的www| 久久亚洲AV无码精品色午夜| 国内外成人免费视频| sss日本免费完整版在线观看| 18亚洲男同志videos网站| 国产高清免费观看| 国产精品免费福利久久| 豆国产96在线|亚洲| 在线观看亚洲人成网站|