JSP編碼過程

 

JSP中定義<%@ page contentType=”text/html;charset=utf-8″

pageEncoding=”GBK”%>,

說明(多選)

a.輸出的網頁編碼是utf8

b.輸出的網頁編碼是GBK

c.輸出的網頁採用utf編碼,顯示在頁面的字符集使用GBK

d.輸出的網頁採用GBK編碼,顯示在頁面的字符集使用utf8編碼

 

 

pageEncoding是jsp文件本身的編碼

contentType的charset是指瀏覽器到服務器發送時使用的編碼;以及服務器返回到瀏覽器使用的編碼

 

JSP要經過三次的“編碼”,第一階段會用JSP本身的pageEncoding,第二階段會用JAVAC的utf-8,第三階段就是由Tomcat出來的網頁, 用的是contentType

第一階段是jsp編譯成.java,它會根據pageEncoding的設定讀取jsp,結果是由指定的編碼方案翻譯成統一的UTF-8 JAVA源碼(即.java),如果pageEncoding設定錯了,或沒有設定,出來的就是中文亂碼。

第二階段是由JAVAC的JAVA源碼至java byteCode即.class的編譯,不論JSP編寫時候用的是什麼編碼方案,經過這個階段的結果全部是UTF-8的encoding的java源碼。

第三階段是Tomcat(或其它的application container)載入和執行階段二的來的JAVA二進制碼,輸出的結果,也就是在客戶端見到的,這時隱藏在階段一和階段二的參數contentType就發揮了功效

 

因此答案爲A,C

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章