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

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

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

    隨筆 - 11  文章 - 11  trackbacks - 0

    留言簿(2)

    隨筆分類(13)

    隨筆檔案(11)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    Web程序的編碼問題主要有三個方面:

    1. 程序文件的編碼;
    2. 輸出頁面到客戶端的編碼;
    3. 用戶響應到服務器端的編碼。

    以設置為UTF-8為例,可以用如下方法解決。

    1. 對于程序文件的編碼

    直接在Eclipse或者其他IDE,editor中將文件編碼設為UTF-8即可。

    2.輸出頁面

    對于JSP頁面,加入以下代碼

    <%@ page contentType="text/html; charset=UTF-8"%>
    如果在IE或者Firefox中還不能正常顯示,還可以在Html標識下加入下面的頭信息

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    3. 響應到服務器端

    我使用的是Tomcat,沒有可以直接設置接受響應編碼的方法(真是太佩服了!),但可以通過寫一個Filter實現編碼轉化。

    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class SetCharacterEncodingFilter implements Filter {
    
        protected String encoding = null;
        protected FilterConfig filterConfig = null;
        protected boolean ignore = true;
    
        public void destroy() {
            this.encoding = null;
            this.filterConfig = null;
        }
    
        public void doFilter(ServletRequest request, ServletResponse response,
                              FilterChain chain)
            throws IOException, ServletException {
            if (ignore || (request.getCharacterEncoding() == null)) {
                String encoding = selectEncoding(request);
                if (encoding != null)
                    request.setCharacterEncoding(encoding);
            }
            chain.doFilter(request, response);
        }
    
        public void init(FilterConfig filterConfig) throws ServletException {
         this.filterConfig = filterConfig;
            this.encoding = filterConfig.getInitParameter("encoding");
            String value = filterConfig.getInitParameter("ignore");
            if (value == null)
                this.ignore = true;
            else if (value.equalsIgnoreCase("true"))
                this.ignore = true;
            else if (value.equalsIgnoreCase("yes"))
                this.ignore = true;
            else
                this.ignore = false;
        }
    
        protected String selectEncoding(ServletRequest request) {
            return (this.encoding);
        }
    }
    

    將SetCharacterEncodingFilter放到程序的編譯目錄下,再在web.xml中添加相應屬性

    
        <filter>
            <filter-name>Set Character Encoding</filter-name>
            <filter-class>hijeff.filters.SetCharacterEncodingFilter</filter-class>
            <init-param>
                <param-name>encoding</param-name>
                <param-value>UTF-8</param-value>
            </init-param>
        </filter>
         
        <filter-mapping>
            <filter-name>Set Character Encoding</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>    
    

    Tomcat就會將用戶通過HTTP響應的字符轉化為UTF-8的編碼了


    posted on 2007-03-15 20:58 hijeff 閱讀(308) 評論(0)  編輯  收藏 所屬分類: Tomcat

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


    網站導航:
     
    主站蜘蛛池模板: 国产成人A亚洲精V品无码| 亚洲高清美女一区二区三区| 亚洲色大成网站WWW国产| 120秒男女动态视频免费| 亚洲天天在线日亚洲洲精| 免费人成视频在线观看网站| 亚洲av无码国产精品夜色午夜 | 天天综合亚洲色在线精品| 成年在线网站免费观看无广告| 中文字幕亚洲精品无码| 午夜私人影院免费体验区| 色视频在线观看免费| 亚洲电影免费观看| 亚洲中文字幕久久精品无码2021| 免费国产作爱视频网站| 亚洲欧美国产欧美色欲| 亚洲精品国产福利一二区| 91视频免费观看高清观看完整| 亚洲欧洲日产国产综合网| www.黄色免费网站| 免费无码午夜福利片| 亚洲国产综合无码一区| 国产福利视精品永久免费| 久久亚洲AV成人无码国产最大| 久久精品国产亚洲Aⅴ香蕉| 青青青国产手机频在线免费观看 | 亚洲av无码国产综合专区| 四虎影院永久免费观看| 中文字幕免费播放| 亚洲人成激情在线播放| 免费在线观看亚洲| 99xxoo视频在线永久免费观看| 亚洲一区二区三区在线观看网站| 亚洲男人在线无码视频| 91福利视频免费观看| 美女扒开屁股让男人桶爽免费| 精品国产综合成人亚洲区| 在线观看视频免费国语| 好紧我太爽了视频免费国产| 亚洲精品无码久久久久秋霞| 亚洲av午夜福利精品一区|