使用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錯誤。經過檢查發現解決...