在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 = bytes.toString();
}