今天終于有時間對WEB開發(fā)中,常出現(xiàn)的編碼問題作了一個徹底的總結(jié),以前也老是一知半解,以至于錯誤百出: 首先說一下幾個常用設(shè)置的作用,知之而制之! pageEncoding="UTF-8" : 1,只能用于JSP中,作用就是告訴JSP編譯器在將JSP文件編譯成Servlet時使用的編碼。假如,你的JSP文件是以GBK為編碼保存的,而在JSP中卻指定pageEncoding="UTF-8",就會引起JSP內(nèi)部定義的字符串為亂碼, 2,另外,該參數(shù)還有一個功能,就是在JSP中不指定contentType參數(shù),也不使用response.setCharacterEncoding方法時,指定對服務(wù)器響應(yīng)進行重新編碼的編碼 contentType="text/html;charset=UTF-8" :作用是指定對服務(wù)器響應(yīng)給客戶端頁面的編碼。在不使用response.setCharacterEncoding方法時,用該參數(shù)指定對服務(wù)器響應(yīng)進行重新編碼 request.setCharacterEncoding("UTF-8") :作用是設(shè)置對客戶端請求數(shù)據(jù)進行重新編碼 response.setCharacterEncoding("UTF-8") :作用是指定對服務(wù)器響應(yīng)給客戶端頁面的編碼。 這是關(guān)于頁面和程序的配置。 ----------------------------------------------------------------------------------- 但是一個完整的web項目是由 web工程+web服務(wù)器+數(shù)據(jù)庫構(gòu)成的。 所以免不了統(tǒng)一這三個的數(shù)據(jù)編碼。 tomcat server.xml中配置URIEncoding="utf-8"指的是當客戶端向服務(wù)端發(fā)出請求時,如果客戶端以Get方式發(fā)送,那么此時請求的編碼便是這個。 其他也一樣。 ----------------------------------------------------------------------------------- 接下來就是數(shù)據(jù)庫編碼,最好都統(tǒng)一成UTF-8 |
|
來自: 天行健861010 > 《Web開發(fā)》