JAVA中文問題解決總結

2021-04-01 01:44:57 字數 1398 閱讀 6203

一、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 class convert

else

} catch(exception e)

} }

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

JAVA中文問題解決總結

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

JAVA中文問題解決

1 編碼問題 return new string oldstring.getbytes iso 8859 1 gbk 2 hql查詢中文問題 hql 寫法 from obj where field1like 中文 查詢不出記錄 需要引數注入 from obj where field1like que...

jbuilder中文問題解決

中文問題解決 方法一 方法二 project project properties general encoding 改為gbk。方法三 步驟如下 1 安裝jbx 不用說了 2 改變一下,tools preferences.editor display 裡面的字型,主要是讓jbuilderx搜尋一下...