JSP中解決亂碼

2021-09-30 11:43:29 字數 1824 閱讀 6646

一、jsp頁面顯示亂碼 

下面的顯示頁面(display.jsp)就出現亂碼: 

<% 

out.print("jsp的中文處理"); 

%> 

對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因:伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不同而導致的。解決辦法:在jsp頁面中指定編碼方式(gb2312),即在頁面的第一行加上:<%@ page contenttype="text/html; charset=gb2312"%>,就可以消除亂碼了。完整頁面如下: 

<%@ page contenttype="text/html; charset=gb2312"%> 

<% 

out.print("jsp的中文處理"); 

%> 

二、表單提交中文時出現亂碼 

下面是乙個提交頁面(submit.jsp),**如下: 

下面是處理頁面(process.jsp)**: 

<%@ page contenttype="text/html; charset=gb2312"%> 

<%=request.getparameter("name")%> 

如果submit.jsp提交英文本元能正確顯示,如果提交中文時就會出現亂碼。原因:瀏覽器預設使用utf-8編碼方式來傳送請求,而utf-8和gb2312編碼方式表示字元時不一樣,這樣就出現了不能識別字元。解決辦法:通過request.setcharacterencoding("gb2312")對請求進行統一編碼,就實現了中文的正常顯示。修改後的process.jsp**如下: 

<%@ page contenttype="text/html; charset=gb2312"%> 

<% 

request.secharacterencoding("gb2312"); 

%> 

<%=request.getparameter("name")%> 

三、資料庫連線出現亂碼 

只要涉及中文的地方全部是亂碼,解決辦法:在資料庫的資料庫url中加上useunicode=true&characterencoding=gbk就ok了。

四、資料庫的顯示亂碼 

在mysql4.1.0中,varchar型別,text型別就會出現中文亂碼,對於varchar型別把它設為binary屬性就可以解決中文問題,對於text型別就要用乙個編碼轉換類來處理,實現如下: 

public class convert  

else 

} catch(exception e) 

} } 

把它編譯成class,就可以呼叫convert類的靜態方法isotogb()來轉換編碼。

---------------------------------------------

在每個使用到request的jsp頁使用 request.setcharacterencoding("gb2312")就可以了 具體使用就是在像string name=request.getparameter("name");

string name=request.getparameter("***");

string name=request.getparameter("id");

的最前面加 作用就是統一一下編碼 正確範例是下面這樣

request.setcharacterencoding("gb2312")

string name=request.getparameter("name");

string name=request.getparameter("***");

string name=request.getparameter("id");這樣就沒有亂碼了

解決jsp中亂碼問題

資料庫儲存最好用8859 1的格式,所以存入資料庫的時候進行一下編碼轉換,但我們通常的顯示格式為gb2312或gbk,所以取出來的時候再轉一次 例如 存入資料庫時用 把資料轉成8859 1的格式 name new string name.getbytes gb2312 8859 1 content ...

jsp亂碼解決

對亂碼問題的處理 1 當然寫過濾器了.2 string類的封裝方法,不管是亂碼還是get傳入沒有編碼的引數這個方法都適用 string str new string request.getparameter cnname getbytes iso8859 1 utf 8 3 在tomcat伺服器的s...

JSP亂碼的解決

jsp亂碼如何解決,給出三種以上的對應解決方案,並給出對應的程式案例 1 jsp頁面顯示亂碼 pagecontenttype text html charset gb2312 2 表單提交中文時出現亂碼 request.secharacterencoding gb2312 對請求進行統一編碼 3 資...