關(guān)于mysql數(shù)據(jù)庫(kù)連接編碼問(wèn)題
前幾天使用springboot做一個(gè)數(shù)據(jù)庫(kù)查詢(xún)功能,發(fā)現(xiàn)使用中文就無(wú)法查到數(shù)據(jù),經(jīng)過(guò)測(cè)試SQL語(yǔ)句是沒(méi)有問(wèn)題的,但是就是查詢(xún)不到數(shù)據(jù),一直顯示為null。
后來(lái),我靈機(jī)一動(dòng)嘗試了一下查詢(xún)參數(shù)改為英文,顯示出查詢(xún)結(jié)果是正常的。這就說(shuō)明了是編碼的問(wèn)題。
起初我以為是springboot的編碼問(wèn)題,但是我嘗試了之后發(fā)現(xiàn)是正常的,后來(lái)經(jīng)過(guò)搜索查詢(xún)發(fā)現(xiàn)是JDBC的url沒(méi)有指定編碼,所以mysql服務(wù)端使用了默認(rèn)的編碼來(lái)解碼導(dǎo)致了錯(cuò)誤。
查詢(xún)數(shù)據(jù)經(jīng)過(guò)網(wǎng)絡(luò)傳輸,網(wǎng)絡(luò)上的數(shù)據(jù)都是字節(jié)了,如果不指定編碼的話(huà),只能使用默認(rèn)的編碼,但是默認(rèn)的編碼和數(shù)據(jù)庫(kù)表中的數(shù)據(jù)使用的編碼是不一致的,如果是中文,那么在數(shù)據(jù)庫(kù)中執(zhí)行時(shí)已經(jīng)是亂碼了(只不過(guò)我們不知道),因此導(dǎo)致了錯(cuò)誤。
不過(guò)如果數(shù)據(jù)庫(kù)開(kāi)啟了日志功能,應(yīng)該是可以看到執(zhí)行過(guò)的sql語(yǔ)句的,這也說(shuō)明了日志對(duì)于排錯(cuò)的重要性。
解決辦法:
在 jdbcurl 后面添加:?useUnicode=true&characterEncoding=utf-8
注意:這個(gè) utf-8 是數(shù)據(jù)庫(kù)創(chuàng)建時(shí)的編碼。如果使用的是其它編碼,要對(duì)應(yīng)修改。
如果是文本配置文件的話(huà):使用 & 符號(hào) 如果是xml配置文件的話(huà):使用 & 的轉(zhuǎn)義字符 &
可以參考一下這篇文章:關(guān)于Java中使用jdbc連接數(shù)據(jù)庫(kù)中文出現(xiàn)亂碼的問(wèn)題
到此這篇關(guān)于關(guān)于mysql數(shù)據(jù)庫(kù)連接編碼問(wèn)題的文章就介紹到這了,更多相關(guān)mysql數(shù)據(jù)庫(kù)編碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spark rdd轉(zhuǎn)dataframe 寫(xiě)入mysql的實(shí)例講解
今天小編就為大家分享一篇spark rdd轉(zhuǎn)dataframe 寫(xiě)入mysql的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Mysql語(yǔ)句快速?gòu)?fù)習(xí)教程(全)
這篇文章主要介紹了Mysql語(yǔ)句快速?gòu)?fù)習(xí)教程(全)的相關(guān)資料,需要的朋友可以參考下2016-04-04
MySQL索引失效十種場(chǎng)景與優(yōu)化方案
這篇文章主要介紹了MySQL索引失效十種場(chǎng)景與優(yōu)化方案,文中有詳細(xì)的代碼示例供參考閱讀,感興趣的朋友可以看一下2023-05-05
MySQL存儲(chǔ)過(guò)程的優(yōu)化實(shí)例
在編寫(xiě)MySQL存儲(chǔ)過(guò)程的過(guò)程中,我們會(huì)時(shí)不時(shí)地需要對(duì)某些存儲(chǔ)過(guò)程進(jìn)行優(yōu)化,其目的是確保代碼的可讀性、正確性及運(yùn)行性能。本文以作者實(shí)際工作為背景,介紹了對(duì)某一個(gè)MySQL存儲(chǔ)過(guò)程優(yōu)化的整個(gè)過(guò)程。2016-07-07
MySql創(chuàng)建分區(qū)的方法實(shí)例
mysql分區(qū)相對(duì)于mysql分庫(kù)分表便利很多,可以對(duì)現(xiàn)有的mysql大表添加分區(qū),也可以對(duì)已有分區(qū)的表擴(kuò)充分區(qū),下面這篇文章主要給大家介紹了關(guān)于MySql創(chuàng)建分區(qū)的相關(guān)資料,需要的朋友可以參考下2022-04-04

