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

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

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

    磨刀不誤砍柴工

    合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。

       ::  ::  ::  :: 管理

    JAVA亂碼:

    測試代碼:

    								public
    								class SayHello {
    	publicstaticvoid main(String[] args){
    		//System.setProperty("file.encoding", "iso8859-1");
    		System.out.println("您好!");
    	}
    }
    

    采用JVM默認file.encoding編碼編譯:(默認為GBK)
    ?image

    指定file.encoding編譯:(指定為iso8859-1)

    image

    可以看出,若不指定初始參數file.encoding=iso8859-1(采用默認的GBK),則打印出亂碼。同時,若指定的值與編譯時不一致也會是亂碼。

    ?

    因此,解決亂碼的關鍵在于,寫與讀時,編碼方式要一致。

    ?

    --------------------------------------------------------------------------------------------------------------

    JSP亂碼:

    測試jsp頁面:

    用EditPlus書寫jsp頁面encoding.jsp

    java" contentType="text/html; charset=GB2312"
    ??? pageEncoding="UTF-8"%>]]>




    測試頁面


    歡迎您!

    然后保存到tomcat的Root目錄下文件中,注意:選擇編碼方式為UTF-8

    image

    游覽此頁面,可以看到頁面正常無亂碼:

    image


    將:

    java" contentType="text/html; charset=GB2312" pageEncoding="UTF-8"%>]]>

    替換為:

    java" contentType="text/html; charset=GB2312" pageEncoding="GBK"%>]]>

    再次游覽此頁面,頁面出現亂碼:

    image

    ?

    原理:

    ]]>

    在這行的頁面指令中的"text/html; charset=UTF-8"將應答消息中的"Content-type" 設置為"text/html; charset=UTF-8"。

    "pageEncoding"只是指明了 JSP 頁面本身的編碼格式,指明了 JSP 是以什么編碼方式保存。容器在讀取文件時將起轉化為內部使用的 Unicode. 當應答發送回至瀏覽器時,容器會將內部使用的 Unicode 轉化為在 Content-type 中指定的字符集。

    如果沒有指定 PageEncoding,可以通過使用 Content-type 指定的字符集來解釋 JSP 頁面字節。

    ?

    jsp頁面在服務器端處理的過程是:

    jsp—>.java文件—> .class文件

    jsp—> .java文件是由服務器讀取jsp頁面文件,根據pageEncoding指明的編碼方式自動轉換的。與前面java亂碼一節中指出的,這里也要保證寫與讀時編碼一致才不會出現亂碼。從上面的例子也驗證了這一點。

    .java文件 --> .calss文件過程,即為java編譯過程,由服務器邊jvm自動進行。

    ?

    至于,text/html; charset=GB2312,則可以設置成任何游覽器支持的并且支持中文的編碼方式,都能保證頁面不出現亂碼。(表單提交及URL請求不在此討論范圍內),這是因為,在生成響應給游覽器前,虛擬機中以unicode編碼的中文是正確的,服務器會更據指定的charset,將unicode轉換成正確的編碼。

    ?

    參考文章:

    Java 編程技術中漢字問題的分析及解決

    JSP/Servlet 中的漢字編碼問題

    編碼字符集與Java -Java World亂碼問題根源之所在

    UTF-8 字符處理在 Web 開發中的應用

    ?

    Technorati 標簽:
    posted on 2008-10-16 13:41 liwei5891 閱讀(594) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: tom影院亚洲国产一区二区| 亚洲精品无码Av人在线观看国产| 亚洲沟沟美女亚洲沟沟| 免费在线观看一级片| 亚洲成Av人片乱码色午夜| 久久久WWW成人免费精品| 伊人久久大香线蕉亚洲五月天| 一级毛片人与动免费观看| 在线观看视频免费国语| 亚洲AV无码一区东京热久久| 中文字幕不卡高清免费| 亚洲成AV人片在线观看无| 四虎影视在线影院在线观看免费视频| 国产亚洲精品岁国产微拍精品| 三级网站在线免费观看| 亚洲国产人成在线观看69网站| 色欲A∨无码蜜臀AV免费播| 亚洲综合久久1区2区3区| 在线观看av永久免费| 亚洲欧美精品午睡沙发| 免费二级毛片免费完整视频| 国产免费福利体检区久久| 亚洲av无码潮喷在线观看| 国产精品爱啪在线线免费观看| 亚洲xxxx视频| 精品亚洲一区二区三区在线观看 | 免费无码午夜福利片| 青青草原亚洲视频| 久久久久国产精品免费网站| 亚洲视频欧洲视频| 中文字幕无码成人免费视频| 亚洲一卡2卡3卡4卡乱码 在线| 在线免费观看毛片网站| 亚洲一区精品伊人久久伊人| 久久精品国产影库免费看| 亚洲精品欧洲精品| 免费av欧美国产在钱| 青娱乐在线免费观看视频| 亚洲五月午夜免费在线视频| 成年大片免费高清在线看黄| mm1313亚洲国产精品美女|