欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot亂碼問題排查思路解析

 更新時(shí)間:2023年06月16日 10:02:38   作者:liufenggui  
這篇文章主要為大家介紹了springboot亂碼問題排查思路解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

我們?cè)谑褂胹pringboot項(xiàng)目開發(fā)過程中,會(huì)遇到中文保存到數(shù)據(jù)庫(kù)后出現(xiàn)亂碼的問題,這里以mysql為例介紹幾個(gè)排查思路

1. mysql的數(shù)據(jù)庫(kù)表的字符編碼格式不是utf-8導(dǎo)致

可以通過以下的語句來查看數(shù)據(jù)庫(kù)表的創(chuàng)建語句

show?create?table?tableName;

如果不是UTF-8的,修改表的默認(rèn)字符集和所有列的字符集語句

ALTER?TABLE?table_name?CONVERT?TO?CHARACTER?SET?UTF-8

2. 服務(wù)器端編碼格式錯(cuò)誤,導(dǎo)致存到mysql也是亂碼

這個(gè)可以通過debug的模式來斷點(diǎn)執(zhí)行,查看在服務(wù)端保存前收到的參數(shù)值是否是亂碼,如果在服務(wù)端收到的就是亂碼,那要檢查下前端傳入的字符是否有轉(zhuǎn)成utf-8

3. mysql配置不正確,導(dǎo)致亂碼

這個(gè)問題是最常遇到的,經(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. 讀取配置文件的變量時(shí),中文顯示為亂碼 

如有一個(gè)test.properties的文件,設(shè)置了相應(yīng)的變量值

tom.age?=?${random.int[10,20]}
tom.description?=?tom的年齡可能是這個(gè)數(shù)據(jù):?${tom.age}

在程序中讀取變量description時(shí),會(huì)顯示中文亂碼

??@Value("${tom.description}")
??private?String?description;

這時(shí)候就需要在配置引用配置文件時(shí),添加encoding="UTF-8"

@PropertySource(value?=?"classpath:test.properties",encoding?=?"UTF-8")

以上就是springboot亂碼問題排查思路解析的詳細(xì)內(nèi)容,更多關(guān)于springboot亂碼排查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論