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

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

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

    emu in blogjava

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks
    在跨業(yè)務、跨網(wǎng)站發(fā)送數(shù)據(jù)或者業(yè)務升級的時候,我們有的時候需要指定發(fā)送數(shù)據(jù)的編碼方式,比如頁面是utf-8編碼的,而發(fā)送出去的數(shù)據(jù)卻是GB2312編碼的。在做Ajax開發(fā)的時候,我們往往都是用vbscript或者用查字典法來解決這個問題(http://www.tkk7.com/emu/articles/31756.html)。但是有些業(yè)務,也許并不需要做成Ajax這么復雜,用表單提交顯得更加自然。

    其實html里面form標簽有個accept-charset屬性,可以幫助我們解決這個問題,可惜的是傻乎乎的IE瀏覽器雖然認得accept-charset,卻并不賣它的帳。IE的表單提交的時候使用什么編碼是完全看頁面的charset決定的。還好,IE在charset這個問題上一傻到底(見http://www.tkk7.com/emu/archive/2007/08/21/138247.html),糊弄它一下,它就乖乖聽話了:
    <HTML>
    <HEAD>
        
    <meta http-equiv=content-type content="text/html; charset=UTF-8">
        
    <SCRIPT LANGUAGE="JavaScript">
            
    var isIE=!!window.ActiveXObject;
            
    if(isIE && document.charset!="utf-8")location.reload(false);
            
    if(location.search) alert("“我”字編碼為:"+location.search.substr(6))
        
    </SCRIPT>
        
    <TITLE>encode before form post</TITLE>
        
    <META NAME="Author" CONTENT="emu">
    </HEAD>
    <BODY>
        
    <form action="#" accept-charset="GB2312" onsubmit="if(isIE)document.charset='GB2312'">
            
    <input name="test" value="我" readonly>
            
    <input type=submit>
        
    </form>
    </BODY>
    </HTML>

    簡單的講,就是在表單發(fā)送前告訴IE說當前頁面是GB2312編碼就行了:
     <form accept-charset="GB2312" onsubmit="if(isIE)document.charset='GB2312'">
    accept-charset="GB2312" 是寫給其他沒那么笨的瀏覽器看的。

    IE為了表現(xiàn)它確實是一傻到底,不但在設置document.charset的時候不會用新的編碼解釋頁面,還會在前進后退(我特地用#作為action來實現(xiàn)后退)的時候又嘗試用新的編碼去解釋頁面。不過還好,可以用腳本判斷出來,還可以用腳本刷新一下頁面解決這個問題:
    if(isIE && document.charset!="utf-8")location.reload(false);
    posted on 2008-01-31 17:31 emu 閱讀(4450) 評論(5)  編輯  收藏

    評論

    # re: 在IE下面指定表單編碼方式 2008-02-17 12:49 93ttp
    不錯,好東西  回復  更多評論
      

    # re: 在IE下面指定表單編碼方式 2009-05-15 17:18 魔獸私服
    這個BUG我沒有遇到過哦,只有高級的人才遇到的吧?  回復  更多評論
      

    # 十分強大 2009-06-19 19:04 十分強大
    十分強大  回復  更多評論
      

    # re: 在IE下面指定表單編碼方式 2011-08-17 15:12 回轉窯
    謝謝分享 很不錯 、、  回復  更多評論
      

    # re: 在IE下面指定表單編碼方式 2011-09-09 01:04
    太好了,頂你,我還在煩這個問題呢,雖然沒有太大的影響。  回復  更多評論
      


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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 大陆一级毛片免费视频观看i| 亚洲成aⅴ人片久青草影院| 精品久久久久久亚洲精品| 日本免费一区二区三区最新vr| 午夜免费国产体验区免费的| 亚洲国产精彩中文乱码AV| 在线永久免费的视频草莓| 亚洲高清国产拍精品熟女| 亚洲日韩精品一区二区三区| h视频在线观看免费完整版| 国产精品国产亚洲区艳妇糸列短篇| 亚洲色婷婷一区二区三区| 99在线精品免费视频九九视| 四虎国产精品永免费| 亚洲精品第五页中文字幕| 又粗又大又猛又爽免费视频 | 99在线热视频只有精品免费| 亚洲色大情网站www| 亚洲啪啪AV无码片| 成年大片免费视频| 成全高清在线观看免费| 中文字幕在线日亚洲9| 亚洲人成无码网站| 国产成人免费片在线视频观看| 99久在线国内在线播放免费观看| 粉色视频在线观看www免费| 亚洲精品一区二区三区四区乱码 | 色一情一乱一伦一视频免费看| 亚洲色成人网一二三区| 亚洲不卡无码av中文字幕| 久九九精品免费视频| a毛片久久免费观看| 国产成人人综合亚洲欧美丁香花| 亚洲视频在线不卡| 亚洲中文字幕无码一久久区| 国产精品久久免费视频| 99视频全部免费精品全部四虎 | 亚洲视频在线一区二区| 国产精品免费观看久久| 97av免费视频| 全免费a级毛片免费看|