为了账号安全,请及时绑定邮箱和手机立即绑定

未检测到 Spring MessageSource 属性文件第一行

未检测到 Spring MessageSource 属性文件第一行

白衣染霜花 2023-05-17 16:11:08
我正在使用 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++ 是此类文本编辑器的一个示例。


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信