springboot亂碼問題排查思路解析
引言
我們在使用springboot項目開發(fā)過程中,會遇到中文保存到數(shù)據(jù)庫后出現(xiàn)亂碼的問題,這里以mysql為例介紹幾個排查思路
1. mysql的數(shù)據(jù)庫表的字符編碼格式不是utf-8導(dǎo)致
可以通過以下的語句來查看數(shù)據(jù)庫表的創(chuàng)建語句
show?create?table?tableName;
如果不是UTF-8的,修改表的默認(rèn)字符集和所有列的字符集語句
ALTER?TABLE?table_name?CONVERT?TO?CHARACTER?SET?UTF-8
2. 服務(wù)器端編碼格式錯誤,導(dǎo)致存到mysql也是亂碼
這個可以通過debug的模式來斷點執(zhí)行,查看在服務(wù)端保存前收到的參數(shù)值是否是亂碼,如果在服務(wù)端收到的就是亂碼,那要檢查下前端傳入的字符是否有轉(zhuǎn)成utf-8
3. mysql配置不正確,導(dǎo)致亂碼
這個問題是最常遇到的,經(jīng)常發(fā)現(xiàn)有同學(xué)忘記了這塊的配置,就是在spring.datasource.url的配置中少了 &useUnicode=true&characterEncoding=utf8 的配置
spring.datasource.url = jdbc:mysql://localhost:3306/blog_system?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=utf8
4. 讀取配置文件的變量時,中文顯示為亂碼
如有一個test.properties的文件,設(shè)置了相應(yīng)的變量值
tom.age?=?${random.int[10,20]} tom.description?=?tom的年齡可能是這個數(shù)據(jù):?${tom.age}
在程序中讀取變量description時,會顯示中文亂碼
??@Value("${tom.description}") ??private?String?description;
這時候就需要在配置引用配置文件時,添加encoding="UTF-8"
@PropertySource(value?=?"classpath:test.properties",encoding?=?"UTF-8")
以上就是springboot亂碼問題排查思路解析的詳細(xì)內(nèi)容,更多關(guān)于springboot亂碼排查的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署的實現(xiàn)
本文主要介紹了使用IDEA創(chuàng)建servlet?JavaWeb?應(yīng)用及使用Tomcat本地部署2022-01-01java數(shù)組算法例題代碼詳解(冒泡排序,選擇排序,找最大值、最小值,添加、刪除元素等)
這篇文章主要介紹了java數(shù)組算法例題代碼詳解(冒泡排序,選擇排序,找最大值、最小值,添加、刪除元素等),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05java實現(xiàn)上傳網(wǎng)絡(luò)圖片到微信臨時素材
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)上傳網(wǎng)絡(luò)圖片到微信臨時素材,網(wǎng)絡(luò)圖片上傳到微信服務(wù)器,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07Java中@DateTimeFormat和@JsonFormat注解介紹
@DateTimeFormat和@JsonFormat都是處理時間格式化問題的,把其他類型轉(zhuǎn)換成自己需要的時間類型,下面這篇文章主要給大家介紹了關(guān)于Java中@DateTimeFormat和@JsonFormat注解介紹的相關(guān)資料,需要的朋友可以參考下2022-11-11sentinel?整合spring?cloud限流的過程解析
這篇文章主要介紹了sentinel?整合spring?cloud限流,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03Spring Boot JDBC 連接數(shù)據(jù)庫示例
本篇文章主要介紹了Spring Boot JDBC 連接數(shù)據(jù)庫示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02java編程實現(xiàn)求質(zhì)數(shù)與因式分解代碼分享
這篇文章主要介紹了Java編程實現(xiàn)求質(zhì)數(shù)與因式分解代碼分享,對二者的概念作了簡單介紹(多此一舉,哈哈),都是小學(xué)數(shù)學(xué)老師的任務(wù),然后分享了求解質(zhì)數(shù)和因式分解的Java代碼,具有一定借鑒價值,需要的朋友可以參考下。2017-12-12MyBatisPlus 一對多、多對一、多對多的完美解決方案
這篇文章主要介紹了MyBatisPlus 一對多、多對一、多對多的完美解決方案,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11