在Spring Boot项目中,配置文件的value有中文,导致读出来的值是乱码。根本原因在于Spring Boot读取配置文件用的是ISO-8859-1编码,ISO-8859-1不支持中文。找了很多方法也没法改变读取配置文件的编码,最后只能在@Value的时候做编码转换。
代码如下:
private String name;
@Value("${student.name}")
private void setName(String nameValue){
byte[] bytes = nameValue.getBytes(StandardCharsets.ISO_8859_1);
name = new String(bytes);
}