JSP中文問題

2021-04-02 06:05:08 字數 1374 閱讀 9070

一、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.request.getparameter name 預設採用的按照iso碼表取值,所以如果不指定request.setcharacterencoding utf 8 就會對中文不適應。那...

jsp中文亂碼問題

eclipse預設新建的jsp檔案編碼是不支援中文的,每次改都好麻煩,網上的設定是各種分析什麼gb2312,包括之前的教材也是,真的好麻煩,決定直接上utf 8 1 設定預設新建的jsp檔案為utf 8模式 如何在eclipse中修改jsp預設編碼 2 設定utf 8之後,jsp檔案中寫中文是沒問題...

JSP中文亂碼問題

1 很顯然我們使用get或post方法傳送資料時,用的是機器上的預設編碼,在中文系統中使用的是gb2312,那麼我們應該設定request.setcharacterencoding utf 8 將傳送過來的編碼轉換為utf 8的編碼,則在顯示的時候就不會顯示為亂碼了,因為我的eclipse是使用的u...