從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...