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


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


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

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    友情鏈接

    開源鏈接

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品亚洲小说专区| 亚洲国产成人久久| 黄页网站在线免费观看| 成年网站免费视频A在线双飞| 亚洲第一香蕉视频| 美女视频黄的全免费视频| 中文字幕亚洲综合小综合在线| 最近最新的免费中文字幕| 亚洲综合国产成人丁香五月激情| 最近2019中文字幕免费看最新 | 好大好深好猛好爽视频免费| 色老板亚洲视频免在线观| 青草草在线视频永久免费| 国产精品亚洲专一区二区三区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲av日韩精品久久久久久a| 国产91在线免费| 中文字幕在线视频免费观看| 亚洲AV无码久久精品蜜桃| 91成年人免费视频| 亚洲av色香蕉一区二区三区| 国产成人亚洲影院在线观看| 日韩免费电影网站| 亚洲人成www在线播放| 亚洲?v无码国产在丝袜线观看| 99麻豆久久久国产精品免费| 亚洲精品免费在线视频| 在线a毛片免费视频观看| jizz免费一区二区三区| 久久久久亚洲AV无码观看 | 亚洲av片一区二区三区| 热久久这里是精品6免费观看| 亚洲国产成人精品无码一区二区 | 亚洲视频在线精品| 50岁老女人的毛片免费观看| 精品亚洲成A人在线观看青青| 国产亚洲免费的视频看| 最近最好的中文字幕2019免费 | 日韩大片免费观看视频播放| 亚洲AV日韩AV天堂一区二区三区 | 亚洲国产精品13p|