解決SpringBoot項(xiàng)目讀取yml文件中值為中文時(shí),在視圖頁面顯示亂碼
SpringBoot項(xiàng)目讀取yml文件中值為中文時(shí),在視圖頁面顯示亂碼
在Spring Boot項(xiàng)目中,我們會(huì)遇到在yml配置文件中有放中文值的屬性,在取這種中文值放到頁面上面展示的時(shí)候,會(huì)出現(xiàn)頁面中亂碼的情況。



遇到因?yàn)槿ml中文在頁面上顯示亂碼這種情況,我們重新設(shè)置編碼工具的編碼方式就ok了。
找到IDEA的Settings中的File Encodings,將圖中標(biāo)紅的配置都統(tǒng)一設(shè)置為UTF-8,最后點(diǎn)擊Apply應(yīng)用和ok。

這時(shí)yml的中文字體會(huì)變成亂碼,重新編輯修改,再啟動(dòng)項(xiàng)目,頁面中亂碼情況就不會(huì)出現(xiàn)了,這是針對(duì)yml存有中文取值導(dǎo)致頁面亂碼的解決方法~

SpringBoot配置文件中的中文讀取出來是亂碼,或者是問號(hào)問題
可能有兩個(gè)原因?qū)е逻@個(gè)問題,一個(gè)是配置文件編碼方式不是 UTF-8 的,另一個(gè)是 Spring http 使用的編碼不是 UTF-8 。
1、第一步
將配置文件的編碼方式改為 UTF-8
將 xx.properties 和 xx.yml 文件的編碼方式改為 UTF-8 ,中文內(nèi)容再重新寫一遍。
2、第二步
配置 Spring 的編碼方式
這里有兩種方式。
2.1、方法一
在配置文件中設(shè)置( application.yml )
spring:
#--------------------------charset--------------------------
http:
encoding:
charset: UTF-8
enabled: true
force: true
#--------------------------Server--------------------------
server:
tomcat:
uri-encoding: UTF-82.2、方法二
配置過濾器,過濾所有請(qǐng)求,并設(shè)置字符編碼方式
注意:需要重新配置 json 轉(zhuǎn)換器
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public SecurityInterceptor securityInterceptor() {
return new SecurityInterceptor(security);
}
@Bean
public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
return new MappingJackson2HttpMessageConverter();
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
// 解決(配置文件屬性值)中文亂碼問題
converters.add(responseBodyConverter());
// 需要重新配置json轉(zhuǎn)換器
converters.add(mappingJackson2HttpMessageConverter());
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
}如果方法一無效的話,就再試試方法二吧…
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java讀取項(xiàng)目json文件并轉(zhuǎn)為JSON對(duì)象的操作
這篇文章主要介紹了Java讀取項(xiàng)目json文件并轉(zhuǎn)為JSON對(duì)象的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式
MongoDB是一種非關(guān)系型數(shù)據(jù)庫,通過文檔存儲(chǔ)數(shù)據(jù),適用于大規(guī)模數(shù)據(jù)存儲(chǔ)和高并發(fā)訪問,這篇文章主要介紹了SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式,感興趣想要詳細(xì)了解可以參考下文2023-05-05
SpringBoot過濾器與攔截器深入分析實(shí)現(xiàn)方法
大家應(yīng)該都曉得實(shí)現(xiàn)過濾器需要實(shí)現(xiàn) javax.servlet.Filter 接口,而攔截器會(huì)在處理指定請(qǐng)求之前和之后進(jìn)行相關(guān)操作,配置攔截器需要兩步,本文通過實(shí)例代碼給大家介紹SpringBoot 過濾器和攔截器的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-11-11
SpringBoot配置返回?cái)?shù)據(jù)不存在null的問題小結(jié)
文章介紹了在Spring Boot項(xiàng)目中使用Jackson序列化器處理JSON數(shù)據(jù)時(shí)遇到的問題,特別是如何配置Jackson以返回不包含null值的JSON響應(yīng),并探討了Jackson的三種主要JSON處理方法,感興趣的朋友一起看看吧2025-02-02
SpringMVC通過注解實(shí)現(xiàn)全局異常處理問題小結(jié)
文章介紹SpringMVC全局異常處理機(jī)制,通過@ControllerAdvice和@ExceptionHandler注解實(shí)現(xiàn)統(tǒng)一異常處理,提升代碼可維護(hù)性與響應(yīng)一致性,減少重復(fù)try-catch代碼,增強(qiáng)系統(tǒng)健壯性,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2025-09-09
java 中sendredirect()和forward()方法的區(qū)別
這篇文章主要介紹了java 中sendredirect()和forward()方法的區(qū)別,需要的朋友可以參考下2017-08-08
Spring Boot Admin郵件警報(bào)整合過程解析
這篇文章主要介紹了Spring Boot Admin郵件警報(bào)整合過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03

