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


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧洲日韩不卡| 免费观看又污又黄在线观看| 亚洲精品亚洲人成在线观看麻豆| wwwxxx亚洲| 一级特黄录像免费播放肥| 久久福利资源网站免费看| 国产日产亚洲系列最新| jlzzjlzz亚洲jzjzjz| 本免费AV无码专区一区| 卡一卡二卡三在线入口免费| 无码乱人伦一区二区亚洲一| 相泽南亚洲一区二区在线播放| 91香蕉在线观看免费高清| 亚洲一区二区三区免费| 亚洲精品无码成人| 免费观看激色视频网站(性色)| 亚洲精品国产啊女成拍色拍| 欧美男同gv免费网站观看| 亚洲国产成人va在线观看网址| 国产一级片免费看| 久久精品国产亚洲Aⅴ蜜臀色欲| caoporm超免费公开视频| 大地资源在线观看免费高清| 亚洲乱码卡三乱码新区| 免费鲁丝片一级观看| 亚洲一区二区三区深夜天堂| 成人午夜免费福利| 亚洲同性男gay网站在线观看| 成年轻人网站色免费看| 一级毛片完整版免费播放一区| 欧洲美熟女乱又伦免费视频| 猫咪免费人成网站在线观看入口| 日本无卡码免费一区二区三区| jlzzjlzz亚洲jzjzjz| 国产小视频免费观看| 亚洲精品色在线网站| 久久久青草青青亚洲国产免观| 四虎永久在线精品免费一区二区| 日本高清免费网站| 国产成年无码久久久免费| 亚洲大成色www永久网站|