背景
最近在进行SpringBoot的实战训练,使用 Spring_Strart创建了一个SpringBoot程序,在默认配置文件(
application.properties
)中使用中文属性时,无论是读取设置到属性上,还是在控制台打印,抑或是通过HTTP请求返回,得到的都是乱码。
解决问题
查找两篇博客介绍如下:
IDEA解决方案如第二篇博客所述,修改File Encodings
各个编码为UTF-8
且勾选Transparent native-to-ascii conversion
即可。
总结
- SpringBoot以前(具体版本未知)默认使用
application.properties
作为配置文件,该文件的编码方式为ISO-8859-1
,故而读取中文时会呈现乱码状态; - SpringBoot目前以
application.yml
作为默认配置文件,该文件的编码方式为UTF-8
,所以读取中文没有问题; - 使用类似
Notepad++
之类的工具将文件进行UTF-8
编码后,仍然不能使IDE正确读取中文; - 如第一篇博客所述,对于默认的
application.properties
文件,在配置类上增加@PropertySource(value = "application.properties", encoding = "UTF-8")
并不能修改其读取Properties
的编码方式,但是对于自定义的.properties
文件是可行的。