CentOS使用@Value註解爲屬性賦值的時候出現亂碼

在本地開發用windows的沒有出現亂碼,在CentOS上運行的時候出現亂碼.java

 

1.修改中文的編碼方式  (成功) env.properties爲ANSI格式spring

先設置idea編碼格式,utf-8,windows

 

將中文轉成Unicode編碼方式,而後替換配置文件中的對應中文,這樣加載進去的時候就是中文,亂碼問題完美解決.app

env.properties有中文以下ide

#是否調用測試接口,爲false爲正式接口,爲true爲測試接口, 測試接口在代碼中修改
KDN_IsTest=false

中文轉成ANSI格式之後變爲這樣:

#\u662F\u5426\u8C03\u7528\u6D4B\u8BD5\u63A5\u53E3,\u4E3Afalse\u4E3A\u6B63\u5F0F\u63A5\u53E3\uFF0C\u4E3Atrue\u4E3A\u6D4B\u8BD5\u63A5\u53E3\uFF0C \u6D4B\u8BD5\u63A5\u53E3\u5728\u4EE3\u7801\u4E2D\u4FEE\u6539
KDN_IsTest=false測試

 

 (如下網上找的失敗方案)編碼

1.使用PropertySource (該方案失敗)  env.properties爲utf-8idea

@PropertySource (value =  "classpath:conf/evn.properties" ,encoding =  "utf-8" )
public  class  CopyWriteUI {
 @Value("${a}")
 private String a;
}
 
2.修改applection中引用加入<property name="fileEncoding" value="UTF-8"></property>(該方案失敗) env.properties爲utf-8
<bean

class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:properties/env.properties</value>
</list>
</property>
<property name="fileEncoding" value="UTF-8"></property>
</bean>spa

相關文章
相關標籤/搜索