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



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

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

SpringBoot配置文件中的中文讀取出來是亂碼,或者是問號問題
可能有兩個原因導致這個問題,一個是配置文件編碼方式不是 UTF-8 的,另一個是 Spring http 使用的編碼不是 UTF-8 。
1、第一步
將配置文件的編碼方式改為 UTF-8
將 xx.properties 和 xx.yml 文件的編碼方式改為 UTF-8 ,中文內容再重新寫一遍。
2、第二步
配置 Spring 的編碼方式
這里有兩種方式。
2.1、方法一
在配置文件中設置( application.yml )
spring:
#--------------------------charset--------------------------
http:
encoding:
charset: UTF-8
enabled: true
force: true
#--------------------------Server--------------------------
server:
tomcat:
uri-encoding: UTF-82.2、方法二
配置過濾器,過濾所有請求,并設置字符編碼方式
注意:需要重新配置 json 轉換器
@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轉換器
converters.add(mappingJackson2HttpMessageConverter());
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
}如果方法一無效的話,就再試試方法二吧…
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式
MongoDB是一種非關系型數(shù)據(jù)庫,通過文檔存儲數(shù)據(jù),適用于大規(guī)模數(shù)據(jù)存儲和高并發(fā)訪問,這篇文章主要介紹了SpringBoot訪問MongoDB數(shù)據(jù)庫的兩種方式,感興趣想要詳細了解可以參考下文2023-05-05
SpringBoot過濾器與攔截器深入分析實現(xiàn)方法
大家應該都曉得實現(xiàn)過濾器需要實現(xiàn) javax.servlet.Filter 接口,而攔截器會在處理指定請求之前和之后進行相關操作,配置攔截器需要兩步,本文通過實例代碼給大家介紹SpringBoot 過濾器和攔截器的相關知識,感興趣的朋友一起看看吧2022-11-11
SpringBoot配置返回數(shù)據(jù)不存在null的問題小結
文章介紹了在Spring Boot項目中使用Jackson序列化器處理JSON數(shù)據(jù)時遇到的問題,特別是如何配置Jackson以返回不包含null值的JSON響應,并探討了Jackson的三種主要JSON處理方法,感興趣的朋友一起看看吧2025-02-02
SpringMVC通過注解實現(xiàn)全局異常處理問題小結
文章介紹SpringMVC全局異常處理機制,通過@ControllerAdvice和@ExceptionHandler注解實現(xiàn)統(tǒng)一異常處理,提升代碼可維護性與響應一致性,減少重復try-catch代碼,增強系統(tǒng)健壯性,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2025-09-09
java 中sendredirect()和forward()方法的區(qū)別
這篇文章主要介紹了java 中sendredirect()和forward()方法的區(qū)別,需要的朋友可以參考下2017-08-08

