我有一个包含以下键和值的属性文件:
elsi.log.status.1 = Keine Änderungen
Run Code Online (Sandbox Code Playgroud)
但是字符 Ä 没有正确显示在我的网页上。输出是 �
但是如果我使用 faces-config 然后直接显示来自 xhtml 的消息,则该消息的显示方式与属性文件中的相同
这是用于从 java 中的属性文件获取值的方法。当我调试时,这里的值已经错了(bundle.getString(key) 返回 Keine �nderungen)
public static String getString(String key) {
try {
Locale locale = CurrentEnvironment.getLocale();
ResourceBundle bundle = ResourceBundle.getBundle(BUNDLE_NAME, locale);
if (bundle != null) {
return bundle.getString(key);
}
} catch (MissingResourceException e) {
return '!' + key + '!';
}
return '!' + key + '!';
}
Run Code Online (Sandbox Code Playgroud)
使用 xhtml 直接输出作品
<h:outputText value="#{messages.elsi_copyright}" />
Run Code Online (Sandbox Code Playgroud)
我还注意到用十六进制代码替换属性文件中的字符有帮助,但我想知道是否可以这样做。
谢谢你的帮助