我正在使用 Deltaspike Core 检索和显示不同语言的消息。我正在使用默认的 MessageContext 实现,但使用了自定义 MessageResolver。在我尝试使用编码为 UTF-8 的属性文件之前,它运行良好。
UTF-8 文件是带有消息的 locale_source.properties:
messageKey=Localización 不负责任。
我的代码如下所示:
public class MessageBuilder {
@Inject
private MessageContext messageContext;
@PostConstruct
public void init() {
messageContext.messageSource(LOCALE_SOURCE);
}
@Override
public Message create(String key) {
Message m = messageContext
.clone()
.localeResolver(new MyOwnLocaleResolver())
.message()
.template("{" + key + "}");
...
System.out.println(messageBuilder.create(messageKey).toString());
它检索消息,但出现编码错误:
Localización 没有任何责任。
如您所见,它将 ó 更改为ó。有什么东西可以指定属性文件的编码吗?我还能做些什么来解决这个问题?
谢谢。