我正在使用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
)。我的Android设备上只显示pstHeader
。但是当我在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>
...
答案 0 :(得分:0)
这让我想起了Worklight 6.0中纠正的缺陷。
确保android\native
中生成的项目文件也采用UTF-8格式。