解決jsp中的中文亂碼問題筆記

2021-06-22 08:47:12 字數 1507 閱讀 6833

一、jsp頁面顯示亂碼 

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

三、資料庫連線 

大家在jsp的開發過程中,經常出現中文亂碼的問題,可能一至困擾著您,我現在把我在jsp開發中遇到 

一、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()來轉換編碼。 

解決JSP中文亂碼問題

1.頁面文字出現亂碼 導致這樣的原因是因為jsp 的宣告,沒有採用utf 8導致的 正確做法 將chartset有關的全部設定為utf 8 2.post表單提交引發的亂碼 這個很好解決,在接收時將response進行轉碼就行,response.setcharactercoding utf 8 3.g...

解決jsp的中文亂碼問題

1,jsp程式存在有與servlet程式完全相同的中文亂碼問題,response物件的編碼 response.setchar 告訴瀏覽器要使用什麼編碼來解析輸給它的資料 response.setheader request物件的編碼問題 2,jsp引擎將jsp頁面翻譯成servlet原始檔時也可能導...

jsp中中文亂碼問題

設定編碼和解碼都為同一字符集如utf 8.1 設定工作空間的編碼方式 window preferences general wordspace 2 設定jsp檔案的編碼方式 windowpreferences web jsp files 3 對應post和get 提交資料的方式,分別有兩中設定方式 ...