最近測試某個老系統的時候,啟動的時候發@Value注入的中文是亂碼,文件使用GBK/UTF-8的時候均會出現亂碼問題,但是spring配置文件里面注入的占位符並沒有這個問題,bean文件設置了file-encoding="UTF-8"亦如此。
經查,可通過如下方式解決:
@Component @PropertySource(value = "classpath:conf/spider.properties",encoding = "utf-8") @Getter public class SpiderConfig { @Value("${a}") private String a; @Value("${b}") private String b; }
亦或是
不設置編碼格式,編寫文件時將中文轉化為unicode編碼