我正在使用 IBM Worklight 开发一个 Android 应用程序。它使用 HTML5、Javascript 和 CSS。我的 IDE 是 Eclipse Indigo。
我的问题是,为什么只有一种字符串声明变体能正确显示字符串?
这是 JavaScript 代码。脚本文件是 UTF-8 编码的,项目中的所有文件也是如此(我在 eclipse 的文件属性中更改了这个):
function setLangGerman() {
Messages = {
pstHeader : "%C3%9Cbungen",
btUebersicht : encodeURIComponent("Übersicht"),
btStart : "Überhaupt nicht",
btOptions : "Optionen",
xDelConfirm : "Willst Du die Serie wirklich löschen?"
};
}
function setLangGeneral() {
var lang = localStorage.getItem(g_lsLang);
if(lang === "de")
{
setLangGerman();
}
else
{
setLangEnglish();
}
$(".translate").each(function(index, element) {
element = $(element);
var elementId = element.attr("id");
element.text(decodeURIComponent(Messages[elementId]));
});
}
您会看到我尝试在 3 种变体中使用变音符号(pstHeader
, btUebersicht
, btStart
)。只有pstHeader
在我的 Android 设备上正确显示。但是当我在 Chrome 中调试时,所有 3 种变体都会正确显示。我还不能发布截图,但我希望你能理解。
为了完成我的问题,这是 main.html 文件。它也是 UTF-8 编码的:
<head>
<meta charset="UTF-8">
...
<div data-role="page" id="pageStart">
<div data-role="header" id="header">
<h3 id="pstHeader" class="translate">Billardübungen</h3>
</div>
<div data-role="content" style="padding: 15px">
<a href="#pageOverview" data-role="button" id="btUebersicht" class="translate">Übersicht</a>
<a href="#" data-role="button" id="btStart" class="translate">Starte neue Serie</a>
<a href="#pageOptions" data-role="button" id="btOptions" class="translate">Optionen</a>
</div>
...