springboot项目读取配置文件到程序中是乱码
时间: 2023-08-06 16:08:22 浏览: 107
如果在 SpringBoot 项目中读取配置文件时出现乱码,可能是因为编码格式不正确或者文件本身存在编码问题。你可以尝试以下几种方法来解决:
1. 在 `application.properties` 或 `application.yml` 中添加以下配置:
```
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
```
这些配置将确保 Spring Boot 使用正确的编码格式来读取配置文件。
2. 确认配置文件的编码格式是否正确。可以使用 UTF-8 编码格式保存配置文件,并确保在读取文件时指定正确的编码格式。
```
Properties properties = new Properties();
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("application.properties");
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
properties.load(inputStreamReader);
} catch (IOException e) {
e.printStackTrace();
}
```
3. 如果以上方法都无法解决问题,可以尝试使用 `native2ascii` 工具将配置文件转换为 ASCII 码,并在读取文件时指定编码格式为 `ISO-8859-1`。
```
Properties properties = new Properties();
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("application.properties");
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "ISO-8859-1");
properties.load(new StringReader(Native2AsciiUtils.ascii2Native(IOUtils.toString(inputStreamReader))));
} catch (IOException e) {
e.printStackTrace();
}
```
希望这些方法可以帮助你解决问题。
阅读全文