我正在使用 Spring 4 并使用 MessageSource 進行本地化。我的 xml 文件有:<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="classpath:i18n/myfile"/> <property name="defaultEncoding" value="UTF-8"/></bean>其中一個本地化文件 myfile_nl.properties 具有:prop1=abcother1=o1other2=o2other3=o3獲取本地化字符串的 Java 代碼是:@Autowiredprivate MessageSource messageSource;String localizedMsg = messageSource.getMessage("prop1", null, locale);現在,我發現沒有找到 prop1。因此,我編輯了屬性文件以稍后在文件中復制 prop1。other1=o1other2=o2prop1=abcother3=o3現在檢測到 prop1。為什么 prop1 在第一行時沒有被檢測到?
1 回答

手掌心
TA貢獻1942條經驗 獲得超3個贊
您的 UTF-8 屬性文件可能以 BOM(字節順序標記)開頭。
由于Java不做BOM,3字節的BOM被當做不可顯示的BOM字符,成為第一行列出的屬性名的一部分,當然會導致不匹配。
在可以在沒有 BOM 的情況下保存文件的文本編輯器中編輯文件。
Notepad++ 是此類文本編輯器的一個示例。
添加回答
舉報
0/150
提交
取消