2016-09-23 63 views
0

我在Spring MVC中讀取屬性文件中的某些字符時出現問題。Spring mvc -Properties文件編碼

我知道屬性文件的ISO-8859-1編碼,所以我把我的MessageSource類型的bean的默認編碼設置爲UTF-8

@Bean 
    public MessageSource messageSource() { 
     ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 
     messageSource.setBasename("messages"); 
     messageSource.setDefaultEncoding("UTF-8"); 
     return messageSource; 
    } 

這個修改之前,例如我看到à字符爲,之後變成

我還試圖用ReloadedResourceBundleMessageSource沒有效果

我怎麼能只顯示à

回答

0

以下的Javadoc狀態:無法在此編碼被直接表示可以是

字符 使用Unicode轉義作爲Java™ 語言規範的第3.3節中定義寫入;在 轉義序列中只允許一個'u'字符。 native2ascii工具可用於將文件 與其他字符編碼進行轉換。 來源here

我一直在使用這種方法時,我與ISO-8859-1編碼工作(例如:number=N\u00famero)一段時間,但現在我用的是ReloadedResourceBundleMessageSource像你描述的,它完美的作品,就我可以知道你的屬性文件應該使用UTF-8進行編碼,你可以嘗試使用native2ascii來編碼你的文件,例如:

native2ascii -encoding UTF-8 file1.properties file2.properties