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 就會對中文不適應。那...