關於使用JDBC連線MySQL資料庫插入中文亂碼

2021-07-01 20:39:09 字數 604 閱讀 1810

使用jdbc連線mysql時,在使用preparestatement去插入一條insert語句是,如果所傳的引數是中文的話,很多可能會在資料庫裡面顯示亂碼。而你在後台列印出來的資料並不是亂碼。這時候的原因可能有以下:

一、資料庫建表時為對**的編碼方式進行指定,使**編碼方式停留在:charset=latin1 這個編碼方式。

解決辦法就是把這個編碼方式改為:charset=utf8 

因為utf8可以相容基本所有的字元。

二、在進行jdbc連線的時候沒有指定編碼格式。就是在getconnection後面引數裡面未加入編碼格式

try  catch (exception e) 

return conn;

解決辦法就是在dburl + dbname 後面加上編碼方式

try  catch (exception e) 

return conn;

三、在資料庫建立時未指定編碼格式和字符集,把資料庫的字符集與編碼個是轉換一下。

ps:建議個在程式設計的時候都使用同一的編碼格式,避免在後面處理中文的時候出現亂碼

關於jdbc連線

1 載入jdbc驅動,載入mysql的驅動類 class.forname com.mysql.jdbc.driver 2 提供jdbc連線的url jdbc mysql localhost 3306 test?useunicode true characterencoding gbk 3 建立資料庫...

JDBC連線MySQL的基本使用

b.statement物件的executequery 方法 string jdbc driver com.mysql.cj.jdbc.driver class.forname jdbc driver useunicode ture charactorencoding utf 8 設定utf8字符集 ...

關於使用JDBC時MySQL連線池關閉錯誤的問題

我在雲伺服器上搭建了乙個 開啟tomcat伺服器後可以訪問,但過了一段時間 幾個小時左右 tomcat就會報錯而無法訪問。網上查到應該是mysql連線沒有關閉的問題,於是我在每個使用了連線conn的函式上都加了關閉連線的 conn.close 但是tomcat報http 500錯誤。經過檢查發現解決...