Idea連接MySQL數(shù)據(jù)庫出現(xiàn)中文亂碼的問題
問題:當使用JDBC連接MySQL數(shù)據(jù)庫時,插入中文顯示亂碼
解決方法:在連接代碼中插入以下代碼
String url = "jdbc:mysql://localhost:3306/你的數(shù)據(jù)庫名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false";
代碼解讀
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ù)返回給客戶端。
serverTimezone=UTC
以上代碼是為了指定時區(qū),加上這段代碼后就不會報時區(qū)錯誤了。
useSSL=false
高版本的MySQL需指明是否進行SSL連接。
到此這篇關(guān)于Idea連接MySQL數(shù)據(jù)庫出現(xiàn)中文亂碼的問題的文章就介紹到這了,更多相關(guān)Idea連接MySQL數(shù)據(jù)庫亂碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何解決mysql的count()函數(shù)條件表達式不生效問題
該文章總結(jié)了SQL查詢中`count`函數(shù)統(tǒng)計錯誤的原因,以及三種解決方法:使用`ornull`方法、`IF()`函數(shù)和`casewhen`表達式,當不滿足條件時,表達式的值為NULL2024-11-11
Lost connection to MySQL server during query的解決
經(jīng)常在執(zhí)行sql語句時,會發(fā)現(xiàn)這個問題,一般就是連接mysql數(shù)據(jù)庫不穩(wěn)定2008-06-06
mysql默認編碼為UTF-8 通過修改my.ini實現(xiàn)方法
這篇文章主要介紹了mysql默認編碼為UTF-8 通過修改my.ini實現(xiàn)方法的相關(guān)資料,為了防止出現(xiàn)亂碼,Latin1是不支持漢字的,所以要將其改為UTF-8或GBK,需要的朋友可以參考下2017-01-01
MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu)
這篇文章主要介紹了MySQL數(shù)據(jù)庫實現(xiàn)MMM高可用群集架構(gòu),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12
Mysql?InnoDB聚簇索引二級索引聯(lián)合索引特點
這篇文章主要為大家介紹了Mysql?InnoDB聚簇索引二級索引聯(lián)合索引特點詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05

