servlet接受中文println出來是正常的,但是存進資料庫就變亂碼了請問怎麼解決啊

時間 2021-08-30 09:30:55

1樓:螞蟻小宇

request.setcharacterencoding("utf-8");是客戶端向伺服器提交請求,response.setcharacterencoding("utf-8");是伺服器端響應客戶端請求,你寫錯了

2樓:匿名使用者

你確定你的servlet中的response.setcontenttype("text/html;charset=utf-8");一句不是response.setcontenttype("text/html;");?

而且你已經用了jsp做顯示介面,為什麼還要用servlet的printwriter例項物件來輸出資訊呢,分工不明確,那還不如不用jsp

3樓:泡泡

response !

jsp頁面中輸入一箇中文書名,然後轉到servlet讀取並存入資料庫,但是存入之後變成了亂碼

4樓:郭00少

在servlet頁面寫這個request.setcharacterencoding("utf-8");接收資料的時候轉為utf-8編碼就可以了。

5樓:匿名使用者

屬性jsp頁面的編碼咋就不一樣呢?

為啥一個gb2312,一個utf-8?

6樓:魍行天下

tomcat 的server.xml中,配置8080埠那段內容的後面增加encodinguri=「utf-8」

如何解決在servlet向資料庫寫記錄時中文亂碼?

7樓:

1.在你的jsp頁面開始的位置確保寫入:

<%@ page contenttype="text/html; charset=gbk" %>

2.用post提交

3.用這個轉換方法再試試看

public string transform(string s)catch (unsupportedencodingexception e)

return emp;

}4.如果還不行的話,嘗試將request.setcharacterencoding("gb2312");此句註釋掉.

8樓:匿名使用者

資料庫本身的編碼方式有沒有設定成gb2312?

9樓:匿名使用者

可以用filter過濾器對所有的servlet進行過濾,在過濾器裡處理字元編碼,對所有的字元都是用utf-8

public void dofilter(servletrequest request, servletresponse response,filterchain chain) throws ioexception,servletexception

10樓:三教九樓

我的解決辦法是在dopost()或者是doget()的開始的地方加上

request.setcharacterencoding("gbk");

response.setcharacterencoding("gbk");

11樓:

資料庫的編碼方式設定成gbk或者gb2312

12樓:匿名使用者

最佳的解決方案是使用utf-8方案

iis+resin+apache+mysql /resin+mysql+linux/tomcat+mysql

這幾種組全我做過的

如果沒有servlet,只需把所有頁面統一編碼如果有servlet非tomcat伺服器,只要使用new string(srcstr.getbytes("iso-8859-1"),"utf-8");//

如果有servlet而且又是tomcat,就使用過濾器mysql,mssql,oracle下我都試過,mysql裡無需指定特殊編碼,最終你取出來的時候再編碼一次就ok了,沒有問題.

13樓:匿名使用者

寫進去是亂碼就對了,請在取出得時候解碼

在servlet中訪問資料庫資料時出現中文亂碼怎麼辦

14樓:匿名使用者

首先要檢查是資料庫裡資料的亂碼 還是在servlet out.print時亂碼。 如果只是輸出亂碼。

在輸出前加上response.setcontenttype("text/html;charset=gbk"); 就好。就是給要輸出的流內容編碼成gbk資料庫資料本身亂碼的話,就要看資料庫的編碼設定了。。

15樓:匿名使用者

需要在接收引數之前設定字元編碼,request.setcharacterencoding("gbk");,還有一個response.setcontenttype("text/html;charset=gbk");

請問我的jsp網頁文字框中輸入中文,存到資料庫中顯示為亂碼如何解決

16樓:匿名使用者

漢字亂碼現象有4種型別:

1.文字亂碼:是windows系統顯示亂碼,如:選單、桌面、提示框等。這是由於登錄檔中有關字型部分的設定不當引起的;

2.文件亂碼:是各種應用程式、遊戲本來顯示中文的地方出現亂碼。這種亂碼形成的原因比較複雜,有第1類的亂碼原因,也可能是軟體中用到的中文動態連結庫被英文動態連結庫覆蓋所造成的;

3.檔案亂碼:主要是指郵件亂碼;

4.網頁亂碼:是由於港臺的繁體中文大五碼(big5)與大陸簡體中文(gb2312)不通用而造成的。

消除各類亂碼的方法

一 系統亂碼的消除方法

這類亂碼是由於在windows登錄檔中,關於字型部分配置不正常造成的,即使你用內碼翻譯軟體處理也不會消除這類亂碼。那怎麼辦呢?請跟我來:

方法一:找一臺與你的windows版本相同且顯示正常的機器,依下列步驟進行:

1.在正常機器上選擇「開始」→「執行」,在對話方塊中鍵入「regedit」,開啟登錄檔編輯器;

2.請你將游標定位到「hkey_local_machine\ system\currentcontrolset\control\ fontassoc」,然後選擇「登錄檔」→「匯出登錄檔檔案」,再選擇「分支」,匯出該分支登錄檔資訊到檔案(如zt.reg)中;

3.把zt.reg檔案拷貝到你那顯示亂碼的機器上,方法是:

在顯示亂碼的機器上執行「regedit」,開啟登錄檔編輯器,選擇「登錄檔」→「匯入註冊登錄檔」,把zt.reg檔案匯入登錄檔中即可。

方法二:如果你找不到一臺與你的windows版本相同且顯示正常的機器,則需要手工恢復字型部分的登錄檔

項,其步驟是:

1.首先在顯示亂碼的機器上選擇「開始」→「執行」,在對話方塊中鍵入「regedit」,開啟登錄檔編輯器;

2.選擇「hkey_local_machine\system\ currentcontrolset\control\fontassoc」,正常情況下,會有associated deaultfonts、associated charset兩個資料夾,其正確的內容應是:

子目錄內容

中文win98

中文win98(oem版)

中文win2000

associated charset

ansi(00)=「yes」

gb2312(86)=「yes」

den(ff)=「yes」

symbol(02)=「no」

ansi(00)=「yes」

gb2312(86)=「yes」

oem(ff)=「yes」

symbol(02)=「no」

ansi(00)=「yes」

oem(ff)=「yes」

symbol(02)=「no」

associated defaultfonts

assocsystemfont=「simsun.ttf」

fontpackagedecorative=「宋體」

fontpackagedontcare=「宋體」

fontpackagemodern=「宋體」

fontpackageroman=「宋體」

fontpackagescript=「宋體」

fontpackageswiss=「宋體」

或 assocsystemfont=「simsun.ttf」

fontpackage=「新宋體」

fontpackagedecorative=「新宋體」

fontpackagedontcare=「新宋體」

fontpackagemodern=「新宋體」

fontpackageroman=「新宋體」

fontpackagescript=「新宋體」

fontpackageswiss=「新宋體」

3.當出現漢字亂碼時,上述兩個資料夾中的內容就會不完整,有的沒有associated charset資料夾或其中的內容殘缺不全;有的 associated defaulfonts下的內容殘缺。如果遇到這種情況怎麼辦呢?

其實你只要開啟登錄檔編輯器,在 「hkey_local_machine\system\currentcontrolset\control\fonassoc」下,根據以上的正確內容恢復即可。

二 應用程式、遊戲亂碼的消除方法

明明是中文軟體,可顯示介面上卻出現亂碼,這可能是由於登錄檔中關於字型設定的資訊不正確地被改變而造成的,一般是因為軟體的中文連結庫被英文連結庫覆蓋而引起的,這種現象經常發生在用微軟開發工具,例如vb、vc開發的中文軟體上。在這類軟體中,選單等顯示介面上的漢字都是受一個動態連結庫「.dll檔案」控制,而軟體的這個動態連結庫一般是安裝在win 98/2000的system目錄下的,如果以後你安裝了某個英文軟體也使用同名的動態連結庫,則英文軟體的動態連結庫就會覆蓋掉你原先的windows\system下的中文軟體的動態連結庫。

這樣,當你執行中文軟體時就會呼叫英文的動態連結庫,因此出現亂碼。解決辦法是重新安裝中文軟體,恢復中文動態連結庫即可。

17樓:匿名使用者

如圖在連線資料庫時增加上面

servlet向資料庫插入中文資料亂碼

18樓:匿名使用者

web工程裡面新增過濾器, 以utf-8的編碼方式過濾所有請求。至於新增過濾器的方法 , 你可以去網上搜尋下,很多的,也很詳細 。

19樓:匿名使用者

是不是mysql,mysql的資料編碼可能是gbk

廈門裝修大家能接受的房子裝修正常報價是多少

若是全包,價位可能會低點,這還是我之前在廈門千達成裝飾這樣的老品牌公司諮詢的,他們給了我最新的 方位。每平方米多少錢 廈門每平方米400 2000都有,看你怎麼選擇啦,願意拿多少來裝修。廈門現在大約有2 3千家的家裝公司,家裝公司實在太多了,所以要根據自己的承受範圍進行選擇,雖然大部分裝修公司都有保...

貓咪鼻子幹,但是精神好是正常的嗎

2017遺忘的角落 沒事,正常。狗鼻子幹要生病,貓鼻子不論這個。貓 英文名cat 別稱貓咪 家貓 野貓,屬於貓科動物。分家貓 野貓,是全世界家庭中較為廣泛的寵物。家貓的祖先據推測是起源於古埃及的沙漠貓,波斯的波斯貓,已經被人類馴化了3500年 但未像狗一樣完全地被馴化 一般的貓 頭圓 顏面部短,前肢...

梭邊魚切出來的肉是紅色的正常嗎?

梭邊魚除了能補脾利水,還可以通氣消脹 益陰壯陽 養血補虛 養心補腎 消腫等功效,對水腫 腳氣 腰痠腿軟 痔瘡 癬疥 耳痛 沙眼都有一定的食療作用,同時還對催乳補血 預防麻疹 慢性腎炎 防治肺結核有益,幾乎老少皆宜。應該可以!死後充血造成的。您好,很高興為您解答,梭邊魚切出來的肉是紅色的正常梭邊魚除了...