jsp頁面的漢字顯示為亂碼,而英文和阿拉伯數字正常。
漢字編碼時用的字符集 與解碼用的字符集不一致;所有的字符集都相容ascii碼,所以英文、數字不存在亂碼。
編號名稱
單字長度
能否對漢字編碼
ascii
美國資訊交換標準**
7bit
否iso-8859-1(latin1)
西文編碼
8bit
否gbk(ansi)
漢字內碼擴充套件規範
英文單位元組,中文雙位元組
能utf-8
萬國碼
1~4個位元組
能注: gbk(「國標擴充套件」的拼音首字母)是對gb2312的擴充套件
1. 通過page指令的pageencoding屬性,指明jsp原始檔使用哪個字符集編碼。
2.在未告知的情況下,瀏覽器自動選擇的解碼字符集與網頁的編碼不一致:
l 瀏覽器使用者手動糾正:檢視->字元編碼-> utf-8或gbk
l 在jsp中使用response.setcontenttype(「text/html; charset=utf-8」)明示
3. 使用者通過html表單提交了中文,但是tomcat、mysql的預設字符集是iso-8859-1。
l 對應post表單,通過request. setcharacterencoding(charset)明確告訴tomcat用什麼字符集;
對於get表單,修改tomcat/conf/server.xml中http connector的屬性
usebodyencodingforuri=」true」 或者 uriencoding=」utf-8」
l 將mysql的字符集,設定為utf-8或gbk
結論:預設靠不住,最好明確指定utf-8或gbk
jsp中文亂碼
一 page 指定contenttype屬性時,做如下指定 page contenttype text html charset gb 2312 charset中首字母c要大寫。二 page 指定contenttype屬性時,做如下指定 page contenttype text html char...
jsp中文亂碼
以 get 方式提交資料時 讀取使用者名稱和密碼 string name request.getparameter name 對請求資料進行字元編碼 name new string name.getbytes iso 8859 1 utf 8 以 post 方式提交資料時 設定讀取請求資訊的字元編碼...
jsp中文亂碼2
1.單獨的html頁面指定編碼為 2.單獨的jsp頁面設定編碼為 page pageencoding utf 8 3.request請求過來的引數設定編碼為 表單提交亂碼問題 request.setcharacterencoding utf 8 4.如果使用了獲取response物件的printwr...