解決jsp的中文亂碼問題

2022-08-29 16:18:24 字數 1280 閱讀 6359

1,  jsp程式存在有與servlet程式完全相同的中文亂碼問題,

response物件的編碼:response.setchar

告訴瀏覽器要使用什麼編碼來解析輸給它的資料:response.setheader()

request物件的編碼問題

2,  jsp引擎將jsp頁面翻譯成servlet原始檔時也可能導致中文亂碼問題

2-1:如果jsp原始檔中沒有說明它採用的字符集編碼,jsp引擎會使用預設iso8859-1字符集編碼將jsp檔案翻譯成servlet。(這時如果jsp檔案中有中文,那麼翻譯後的servlet會出現中文亂碼)

2-2:jsp檔案可通過page指令的pageencoding屬性來說明jsp原始檔本身資料的編碼:

jsp原始檔儲存在硬碟上時(即jsp原始檔本身資料)採用的編碼,假設為utf-8

那麼必須通過page指令的pageencoding屬性標識,這個標識同時也通知jsp引擎要採用utf-8編碼將這個jsp檔案翻譯成乙個servlet,

如何解決jsp引擎翻譯jsp頁面時的中文亂碼問題

使用page指令的pageencoding屬性 :指定jsp引擎要使用什麼碼表將硬碟上的jsp檔案翻

譯成servlet       

使用page指令的contenttype屬性(該屬性與response.setcontenttype()方法作用一樣):

指定response物件使用什麼碼表將資料編碼輸出和瀏覽器解析資料要使用的碼表

這兩個屬性的例項:

<%@pagepageencoding=」utf-8」  contenttype=」text/html;charset=utf-8」%>

很多情況下,我們只需要設定pageencoding屬性,而不需要設定contenttype屬性,jsp引擎會根據pageencoding屬性,自動設定contenttype屬性的相應值

所以,我們一般就這樣設定:<%@pagepageencoding=」utf-8」%>

解決JSP中文亂碼問題

1.頁面文字出現亂碼 導致這樣的原因是因為jsp 的宣告,沒有採用utf 8導致的 正確做法 將chartset有關的全部設定為utf 8 2.post表單提交引發的亂碼 這個很好解決,在接收時將response進行轉碼就行,response.setcharactercoding utf 8 3.g...

jsp 解決中文亂碼

1.利用new string param.getbytes iso 8859 1 utf 8 對每乙個引數進行轉換。string nickname request.getparameter nickname nickname new string param.getbytes iso 8859 1 ...

jsp中文亂碼問題

問題說明 由於瀏覽器中的引數傳遞是按位元組傳送,因此英文和數字不會有任何的問題 而中文漢字則由兩個位元組組成.1.request.getparameter name 預設採用的按照iso碼表取值,所以如果不指定request.setcharacterencoding utf 8 就會對中文不適應。那...