從jsp上獲值新增到資料庫時出現亂碼問題 怎麼解決

2021-07-02 06:52:47 字數 2993 閱讀 9265

從jsp上獲值新增到資料庫時出現亂碼問題 怎麼解決答:

漢字編碼問題。 1

表單提交的資料,用

request.getparameter(「***」)

返回的字串為亂碼或者??

2 直接通過

url如

中國,這樣的

get請求在服務端用

request. getparameter(「name」)

時返回的是亂碼;按

tomcat4

的做法設定

filter

也沒有用或者用

request.setcharacterencoding("gbk");

也不管用

原因:1 tomcat

的j2ee

實現對表單提交即

post

方式提示時處理引數採用預設的

iso-8859-1

來處理2 tomcat

對get

方式提交的請求對

query-string

處理時採用了和

post

方法不一樣的處理方式。(與

tomcat4

不一樣,

所以設定

setcharacterencoding(「gbk」))

不起作用。

解決辦法:

首先所有的

jsp檔案都加上

: 1

實現乙個

filter.

設定處理字符集為

gbk。(在

tomcat

的目錄有乙個完整的例子。請參考

web.xml

和setcharacterencodingfilter

的配置。

) 1)

只要把%tomcat

安裝目錄

檔案拷到你的

目錄/filters

下,如果沒有

filters

目錄,就建立乙個。

2)在你的

web.xml

裡加入如下幾行:

set character encoding

filters.setcharacterencodingfilter

encoding

gbk 完成

. 2 get

方式的解決辦法

1) 開啟

tomcat

的server.xml

uriencoding=」gbk」

完整的應如下: 2)

重啟tomcat,

一切ok。一、

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()

來轉換編碼。

解決jsp頁面新增到資料庫,資料庫裡面顯示中文亂碼

1.首先,各種編碼要保持一,比如 jsp頁面設定 text html charset utf 8 servlet request.setcharacterencoding utf 8 2.資料庫建表的url,如 url jdbc mysql 3.查詢資料庫字符集情況,解決了我的問題,我是在phpmy...

DateTime新增到資料庫失敗,出現溢位異常!

今天做乙個 在做乙個修改動作的時候,需要做到最新修改的日期,所以在修改的時候必須得傳入乙個日期引數,我傳入datetime.now,執行修改操作,出現異常,根據除錯找到錯誤資訊如下 sqldatetime 溢位。必須介於 1 1 1753 12 00 00 am 和 12 31 9999 11 59...

資料新增到資料庫,取出來帶

出現這種問題,一般是字符集問題.在插入資料庫之前表的編碼要設定一下.我的資料庫是utf 8的,所以 set names utf8一般就能解決問題.可是我的設定也沒問題.插入的時候的格式也都是utf 8,但最後取出來的資料還是帶問號.後來經過一番周折發現,我插入資料庫的資料量比較大,原本用的varch...