当我使用以下代码时,应用程序正常运行:
xulschoolhello.greeting.label = Hello World?
但是当我使用Unicode时,应用程序不起作用:
xulschoolhello.greeting.label = سلام دنیا ?
为什么不起作用?
答案 0 :(得分:0)
我在chrome://
的xul文件中的扩展名中加载该字符串时没有问题。确保您没有覆盖编码(默认情况下为UTF-8)。有关详细信息,请参阅this page。
要确保将XUL的第一行更改为:
<?xml version="1.0" encoding='UTF-8' ?>
如果您在属性文件中使用它,请确保以utf-8格式保存.properties文件。来自Property Files - XUL | MDN:
非ASCII字符,UTF-8和转义
Gecko 1.8.x(或更高版本)支持以UTF-8编码的属性文件。您 可以而且应该直接写非ASCII字符而不用转义 序列,并将文件保存为UTF-8而不使用BOM。仔细检查一下 保存文本编辑器的选项,因为许多人不这样做 默认。有关详细信息,请参阅本地化扩展程序说明。
在某些情况下,使用转义序列可能有用或者需要 表达一些人物。属性文件支持转义序列 形式:\ uXXXX,其中XXXX是Unicode字符代码。对于 例如,在字符串的开头或结尾放置一个空格(哪个 通常会被属性文件解析器剥离),使用\ u0020