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

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

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

    學海拾遺

    生活、技術、思想無處不在學習
    posts - 52, comments - 23, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Java Web的中文問題

    Posted on 2008-03-20 09:43 tanzek 閱讀(501) 評論(0)  編輯  收藏

    摘自王俊標編著的《精通Java Web開發-基于Struts EJB Hibernate JBuilder》一書:

    1、頁面請求
    ???采用Filter過濾器方式:
    ??????????????????web.xml片段

    ?1 ……
    ?2 <!-- ?filter?配置? -->
    ?3 < filter >
    ?4 ???? <!-- ?filter?別名? -->
    ?5 ???????? < filter-name > encodingfilter </ filter-name >
    ?6 ???????? <!-- ?類文件位置? -->
    ?7 ???????? < filter-class > login3.EncodingFilter </ filter-class >
    ?8 ????????
    ?9 ???????? <!-- ?定義屬性encoding="gb2312"?即指定編碼類型? -->
    10 ???????? < init-param >
    11 ???????????? < desription > encode?to?gb2312 </ desription >
    12 ???????????? < param-name > encoding </ param-name >
    13 ???????????? < param-value > gb2312 </ param-value >
    14 ???????? </ init-param >
    15 </ filter >
    16
    17 <!-- ?filter?映射配置? -->
    18 < filter-mapping >
    19 ???? <!-- ?定義該filter?處理所有格式的請求? -->
    20 ???? < filter-name > encodingfilter </ filter-name >
    21 ???? < url-pattern > /* </ url-pattern >
    22 </ filter-mapping >
    23 ……

    ?????????EncodingFilter.java

    ?1 import ?java.io.IOException;
    ?2
    ?3 import ?javax.servlet. * ;
    ?4 import ?javax.servlet.http.HttpServlet;
    ?5
    ?6 public ? class ?EncodingFilter? extends ?HttpServlet?
    ?7 ???? implements ?Filter? {
    ?8 ????
    ?9 ???? private ?FilterConfig?filterConfig;
    10 ????
    11 ???? private ?String?targetEncoding? = ? null ;
    12 ????
    13 ???? public ? void ?init(FilterConfig?filterConfig)? throws ?ServletException? {
    14 ???????? this .filterConfig? = ?filterConfig;
    15 ???????? this .targetEncoding? = ? this .filterConfig.getInitParameter( " encoding " );
    16 ????}

    17
    18 ???? public ? void ?doFilter(ServletRequest?request,?ServletResponse?response,
    19 ????????????FilterChain?chain)? throws ?IOException,?ServletException? {
    20 ???????? try ? {
    21 ????????????System.out.println( " targetEncoding?: " ? + ?targetEncoding? + ? " \n " );
    22 ????????????request.setCharacterEncoding(targetEncoding);
    23 ????????????chain.doFilter(request,?response);
    24 ????????}
    ? catch ?(ServletException?sx)? {
    25 ????????????filterConfig.getServletContext().log(sx.getMessage());
    26 ????????}
    ? catch ?(IOException?iox)? {
    27 ????????????filterConfig.getServletContext().log(iox.getMessage());
    28 ????????}

    29 ????}

    30 ????
    31 ???? public ? void ?destroy()? {
    32 ???????? this .filterConfig? = ? null ;
    33 ???????? this .targetEncoding? = ? null ;
    34 ????}
    ????
    35 }

    36


    2、Web容器編碼
    ??????在Tomcat的的源代碼中的getParameter()方法,用戶調用request.getParameter()方法時,首先調用parsetParameters()方法,在這里面將編碼進行轉換。如:
    ??????String s_target = new String (s_source.getBytes("iso-8859-1"), "gb2312);

    3、數據庫
    ??????MySQL中文問題的主要原因是:它對數據進行編碼時,采用了和底層的操作系統所不同的編碼。通常MySQL在中文Windows平臺上正確的編碼方式是GBK。因此只要將MySQL安裝目錄下的my.ini文件中的default-character-set選項設為GBK即可。

    4、響應結果
    ??????對于Servlet的代碼處理,可以使用:
    ?????????……
    ?????????respsonse.setContentType("text/html;charset=GB2312");
    ?????????……
    ??????對于JSP文件,可以在開頭部分添加如下聲明:
    ?????????……
    ?????????<%@ page contentType="text/html;charset=GB2312" %>
    ?????????……
    ??????對于HTML頁面文件,則在開頭部分添加聲明如下:
    ?????????……
    ?????????<head>
    ????????????<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=GB2312">
    ?????????</head>
    ?????????……
    5、XML文件
    ??????在采用"UTF-8"方式編碼的情況下,使用XML文件存儲中文數據常常會出現亂碼的問題,建議使用"GB2312":
    ??????<?xml version='1.0' encoding="GB2312"


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


    網站導航:
     
    主站蜘蛛池模板: 波多野结衣在线免费观看| 在线观看黄片免费入口不卡| 91精品免费在线观看| 无码av免费一区二区三区| 国产亚洲精品a在线无码| 久久久久久毛片免费看| 国产亚洲精品一品区99热| 亚洲人成无码网站在线观看| 国产在线观看无码免费视频| 亚洲精品无码乱码成人| 亚洲精品无码久久久久秋霞| 巨胸喷奶水视频www网免费| 久久久久亚洲精品成人网小说 | 亚洲精品成人区在线观看| 亚洲白色白色永久观看| 四虎在线最新永久免费| 日韩亚洲产在线观看| 国产一级淫片视频免费看| 国产人成网在线播放VA免费| 日韩免费观看的一级毛片| 特级毛片免费播放| 久久精品国产亚洲网站| 182tv免费视视频线路一二三| 亚洲中文久久精品无码ww16| 免费观看久久精彩视频| 亚洲a级在线观看| www亚洲精品少妇裸乳一区二区| 久久乐国产综合亚洲精品| 免费不卡中文字幕在线| 久久国产精品免费观看| 亚洲色欲色欲www在线播放| 久久精品国产亚洲Aⅴ香蕉| 最近2019中文字幕免费大全5| 久久精品国产精品亚洲蜜月| 97碰公开在线观看免费视频| 豆国产96在线|亚洲| 亚洲av鲁丝一区二区三区| 好大好深好猛好爽视频免费| 中文无码日韩欧免费视频| 亚洲最大无码中文字幕| 国产成人亚洲精品青草天美|