jsp中文亂碼2

2021-05-22 21:31:21 字數 2596 閱讀 9718

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...