1.單獨的html頁面指定編碼為
2.單獨的jsp頁面設定編碼為
<%@ page pageencoding="utf-8"%>
3.request請求過來的引數設定編碼為(表單提交亂碼問題)
request.setcharacterencoding("utf-8");
4.如果使用了獲取response物件的printwriter向客戶端傳送中文資訊
則在獲取之前要加上
response.setcontenttype("text/html;charset=utf-8");
printwriter out = response.getwriter();
5.統一設定乙個濾器來處理 各種請求的編碼
但如果,還是使用了response的printwriter物件向客戶端發資料的話,
還應在使用之前,加上設定編碼的那一句,同第4條
7.資料庫連線出現亂碼
只要涉及中文的地方全部是亂碼,解決辦法:
在資料庫的資料庫url中加上useunicode=true&characterencoding=utf-8
就ok了。 此處應注意,如果url是在.properties檔案中配置的,可用以上寫法
如果url是在xml檔案中配置的,要對&符號進行轉義:
useunicode=true&characterencoding=utf-8
8。(這一條是另乙個人所述)
資料庫的顯示亂碼
在mysql4.1.0中,varchar型別,text型別就會出現中文亂碼,對於varchar型別把它設為binary屬性就可以解決中文問題,對於text型別就要用乙個編碼轉換類來處理,實現如下:
程式**
把它編譯成class,就可以呼叫convert類的靜態方法isotogb()來轉換編碼。
9.tomcat伺服器設定uriencoding="utf-8"
在server.xml裡面增加uriencoding="utf-8"
下面,是另乙個人的總結
1. pageencoding:<%@ page pageencoding="utf-8"%>
jsp頁面編碼: jsp檔案本身的編碼
2. contenttype: <%@ page contenttype="text/html; charset=utf-8"%>
web頁面顯示編碼:jsp的輸出流在瀏覽器中顯示的編碼
3. html頁面charset:
web頁面輸入編碼: 輸入框輸入的字型編碼
4. setcharacterencoding:request.setcharacterencoding(),response.setcharacterencoding()
web伺服器輸入的請求流: web server相應瀏覽器的請求資料
5 .setcontenttype:response.setcontenttype()
web伺服器輸出的響應流: web server相應瀏覽器的輸出資料
他們之間的相互影響和作用域,以及先後作用順序
1. pageencoding: 只是指明了 jsp 頁面本身的編碼格式,跟頁面顯示的編碼沒有關係;
容器在讀取(檔案)或者(資料庫)或者(字串常量)時將起轉化為內部使用的 unicode,而頁面顯示的時候將
內部的unicode轉換為contenttype指定的編碼後顯示頁面內容;
如果pageencoding屬性存在,那麼jsp頁面的字元編碼方式就由pageencoding決定,
否則就由contenttype屬性中的charset決定,如果charset也不存在,jsp頁面的字元編碼方式就採用
預設的iso-8859-1。
2. contenttype: 指定了mime型別和jsp頁面回應時的字元編碼方式。mime型別的預設值是「text/html」;
字元編碼方式的預設值是「iso-8859-1」. mime型別和字元編碼方式由分號隔開;
4. 和contenttype效果一樣的設定方式還有 html頁面charset, response.setcharacterencoding(),
response.setcontenttype(),response.setheader(); response.setcontenttype(),
response.setheader();優先順序最好,其次是response.setcharacterencoding();再者是
<%@page contenttype="text/html; chareset=gbk"%>,最後是.
5. web頁面輸入編碼: 在設定頁面編碼<%@page contenttype="text/html; chareset=gbk"%>的同時,也就指定了頁面的輸入編碼;如果頁面的顯示被設定為utf-8,那麼使用者所有的頁面輸入都會按照 utf-8 編碼; 伺服器端程式在讀 取表單輸入之前要設定輸入編碼; 表單被提交後,瀏覽器會將表單字段值轉換為指定字符集對應的位元組值,然後根據 http 標準 url編碼方案對結果位元組進行編碼.但是頁面需要告訴伺服器當前頁面的編碼方式;request.setcharacterencoding(),能修改serverlet獲取請求的編碼,response.setcharacterencoding(),能修改serverlet返回結果的編碼.
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入門 中文亂碼
初學jsp,建立了兩個頁面jspforward.jsp與login.jsp jspforward.jsp裡使用了請求 標誌,是乙個中轉頁面 login.jsp則是乙個簡單的表單用以獲取從jspforward.jsp傳來的param 結果訪問jspforward.jsp自動跳轉之後,login.jsp...