問題:當使用JDBC連接MySQL數(shù)據(jù)庫時,插入中文顯示亂碼
解決方法:在連接代碼中插入以下代碼
1
|
String url = "jdbc:mysql://localhost:3306/你的數(shù)據(jù)庫名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false" ; |
代碼解讀
1
|
useUnicode= true &characterEncoding=utf8 |
以上代碼有兩個作用:
1.存數(shù)據(jù)時:
數(shù)據(jù)庫在存放項目數(shù)據(jù)的時候會先用UTF-8格式將數(shù)據(jù)解碼成字節(jié)碼,然后再將解碼后的字節(jié)碼重新使用GBK編碼存放到數(shù)據(jù)庫中。
2.取數(shù)據(jù)時:
在從數(shù)據(jù)庫中取數(shù)據(jù)的時候,數(shù)據(jù)庫會先將數(shù)據(jù)庫中的數(shù)據(jù)按GBK格式解碼成字節(jié)碼,然后再將解碼后的字節(jié)碼重新按UTF-8格式編碼數(shù)據(jù),最后再將數(shù)據(jù)返回給客戶端。
1
|
serverTimezone=UTC |
以上代碼是為了指定時區(qū),加上這段代碼后就不會報時區(qū)錯誤了。
1
|
useSSL= false |
高版本的MySQL需指明是否進行SSL連接。
到此這篇關于Idea連接MySQL數(shù)據(jù)庫出現(xiàn)中文亂碼的問題的文章就介紹到這了,更多相關Idea連接MySQL數(shù)據(jù)庫亂碼內容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/qq_45504261/article/details/115613953