【发布时间】:2011-06-07 21:33:33
【问题描述】:
试图使 JSF Web 应用程序多语言。为此目的,使用<f:view> 标签覆盖所有 HTML 代码:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns= ... >
<f:view locale="#{actionsContainer.languageDetails.locale}">
<head>
<meta charset="utf-8" />
<f:loadBundle basename="messages.Messages" var="key" />
</head>
<body>
<h:outputText value="#{key.myText}" />
</body>
</f:view>
</html>
在资源中,我有几个“Messages.properties”文件,其中包含某些语言的翻译:
- Messages_en.properties
- Messages_es.properties
- Messages.properties // 默认
这个文件'Messages_es.properties'的示例内容是:
myText=España
让我们看一下,我的语言环境是“es”,然后西班牙语翻译文件会加载它的值并呈现到屏幕上。但是,特殊字符(例如“ñ”)无法在浏览器输出中正确显示。我得到的不是特殊的西班牙字母,而是“ó”。
我尝试使用 UTF-8 编码保存 .properties 文件,但没有 BOM。并且输出已更改为类似“”的内容。
所以问题是我如何在输出中获得这种特殊的任何语言字母?!
【问题讨论】:
标签: jsf encoding rendering special-characters multilingual