1. 程式人生 > >java 亂碼詳解_jsp中pageEncoding、charset=UTF -8"、request.setCharacterEncoding("UTF-8")

java 亂碼詳解_jsp中pageEncoding、charset=UTF -8"、request.setCharacterEncoding("UTF-8")

 

可以簡單認為是,pageEncoding是jsp檔案本身的編碼;contentType的charset是指伺服器傳送給客戶端時的內容編碼。

例如:pageEncoding="GBK"。這句話的意思是,告訴JVM 這個jsp本身採用的"GBK"編碼,在JSP編譯成Servlet傳給JVM的時候,就用“GBK”的編碼方式將Jsp網頁原始檔翻譯成統一的UTF-8形式的Java位元組碼。如果不加設定,則JVM預設的用ISO-8859-1這種編碼方式。contentType裡的charset=gbk,指的是此網頁檔案輸出到瀏覽器的輸出方式為gbk。在這個過程中,一個JSP的原始檔需要經過三個階段,兩次編碼,才能完成一次完整的輸出。

 

request.setCharacterEncoding("UTF-8")的作用是設定對客戶端請求進行重新編碼的編碼。

 該方法用來指定對瀏覽器傳送來的資料進行重新編碼(或者稱為解碼)時,使用的編碼。

 

response.setCharacterEncoding("UTF-8")的作用是指定對伺服器響應進行重新編碼的編碼。

伺服器在將資料傳送到瀏覽器前,對資料進行重新編碼時,使用的就是該編碼。