Spring Boot配置文件中文乱码原因

使用过Spring Boot的同学都知道,如果直接在application.properties配置中文的话,读取到内存中会出现中文乱码的情况。通过Spring Boot源码分析-配置文件加载,我们可以知道,是由于OriginTrackedPropertiesLoader类在读取文件的时候,采用的ISO-8859-1编码读取,而ISO-8859-1是不支持中文的。

try (CharacterReader reader = new CharacterReader(this.resource)) {
    // ...
}

CharacterReader(Resource resource) throws IOException {
	this.reader = new LineNumberReader(new InputStreamReader(
			resource.getInputStream(), StandardCharsets.ISO_8859_1));
}
复制代码

所以在application.properties中配置的中文,读取到的都是乱码。

具体源码分析过程可以参考Spring Boot源码分析-配置文件加载

更多内容请关注我的个人主页

你可能感兴趣的:(Spring Boot配置文件中文乱码原因)