如何解決JSP頁面顯示亂碼問題

2021-04-27 22:06:37 字數 1674 閱讀 6398

一、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.secharacterencoding("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 string iso2gb(string qs)  } 

catch(exception e)

return "null";

} public string gb2iso(string qs) }

catch(exception e)

return "null";

}

字元存入資料庫時用 gb2iso()函式,將字元從資料庫取出時,再用 iso2gb()函式。

如何解決JSP頁面顯示亂碼問題

下面的顯示頁面 display.jsp 就出現亂碼 out.print jsp中文處理 對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因 伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不同而導致的。解決辦法 在jsp頁面中指定編碼方式 gb2312 即在頁面的第一行加上 page...

如何解決JSP頁面顯示亂碼問題

一 jsp頁面顯示亂碼 下面的顯示jsp頁面 display.jsp 就出現亂碼 html head title jsp的中文處理 jsp的中文處理 body html 對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因 伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不同而導致的。...

JSP頁面顯示亂碼解決

一 jsp頁面顯示亂碼 下面的顯示頁面 display.jsp 就出現亂碼 out.print jsp的中文處理 對不同的web伺服器和不同的jdk版本,處理結果就不一樣。原因 伺服器使用的編碼方式不同和瀏覽器對不同的字元顯示結果不同而導致的。解決辦法 在jsp頁面中指定編碼方式 gb2312 即在...