在本地開發用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;
}
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