如何在我的属性文件中获取服务标记?

时间:2010-02-22 14:12:54

标签: flex actionscript-3

我有一个使用Flex SDK 3.3的现有项目,该项目使用Flex文件中所有静态文本的属性文件。有一个特定的标签有版权符号,但需要更改为服务标记符号。我知道某些字体可能不支持服务标记。

现有文字如下:

header.productName =Acmeâ?¢

文本被分配给mx:Text标签。

我现在确定你是如何将servicesymbol输入属性文件的?我不确定版权符号在属性文件中是如何/为何如此。

TIA, 马格努斯

1 个答案:

答案 0 :(得分:1)

您在属性文件中看到乱码文本的原因可能是由于文件编码不匹配。换句话说,原始文件可能是使用UTF-8或类似的东西创建的,可以显示特殊标记,如版权符号等,但您现在正试图以ASCII模式查看它,将多字节字符显示为乱码你看到的输出。

(这纯粹是我的猜测,我不知道你的设置是什么样的)

除此之外,将非标准字符放入属性文件并在Flex中显示它们非常简单。基本上,您需要知道的是要显示的符号的HTML或Unicode编码(要么可以工作)。例如,版权符号(©)的HTML编码为©,Unicode值为\u00A9

您所做的就是在属性文件中使用这些编码,如下所示:

header.productName = Acme©

然后在定义Text元素的MXML中,使用htmlText property,而不是text

<mx:Text id="myText" htmlText="{resourceManager.getString('someBundle', 'header.productName')}"/>

那应该为你做到的!

作为旁注,如果您的属性文件中有很多这些特殊字符,您可能需要考虑使用native2ascii之类的工具将它们全部转换为您。