当前位置:首页 > 编程笔记 > 正文
已解决

Spring Boot 配置文件中的中文读取出来是乱码,或者是问号

来自网友在路上 157857提问 提问时间:2023-11-08 08:52:03阅读次数: 57

最佳答案 问答题库578位专家为你答疑解惑

在调试阿里短信时候,遇到读取配置文件乱码导致标签名无法正常使用,而可能有两个原因导致这个问题,一个是配置文件编码方式不是UTF-8的,另一个是Spring http使用的编码不是UTF-8

1、第一步,将配置文件的编码方式改为UTF-8

xx.propertiesxx.yml文件的编码方式改为UTF-8,中文内容再重新写一遍。

2、第二步,配置Spring的编码方式

这里有两种方式。

2.1、方法一

在配置文件中设置(application.yml

spring:
#--------------------------charset--------------------------http:encoding:charset: UTF-8enabled: trueforce: true#--------------------------Server--------------------------
server:tomcat:uri-encoding: UTF-8

2.2、方法二

配置过滤器,过滤所有请求,并设置字符编码方式
注意:需要重新配置json转换器

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {@Beanpublic SecurityInterceptor securityInterceptor() {return new SecurityInterceptor(security);}@Beanpublic MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {return new MappingJackson2HttpMessageConverter();}@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {// 解决(配置文件属性值)中文乱码问题converters.add(responseBodyConverter());// 需要重新配置json转换器converters.add(mappingJackson2HttpMessageConverter());}@Overridepublic void configureContentNegotiation(ContentNegotiationConfigurer configurer) {configurer.favorPathExtension(false);}
}
结果我在配置属性文件里采用了第二步的第一种方法,完美解决问题!
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Spring Boot 配置文件中的中文读取出来是乱码,或者是问号":http://eshow365.cn/6-35206-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!