2

有一个页面,我有一些特殊字符,当通过javascript检索这些值时,我得到一个奇怪的转换。字符'Œ'回到'R',小写字母'œ'回到'S'。这是JavaScript的限制或可能是浏览器。这是来自Firefox的测试。此外,这是通过repl客户端(Jssh/MozRepl)检索的,因此它似乎可能是这些客户端本身而不是浏览器的问题。Javascript特殊字符回来不正确

回答

3

您可能在某处存在编码问题。有很多机会错误地处理文本的编码。如果您发布了一些代码,我们可能可以帮助您找到它。

+0

var outstream = transport.openOutputStream(Ci.nsITransport.OPEN_BLOCKING,0,0); 这是我在JavaScript中使用的输出流(没有太多我可以配置在Firefox中从我可以告诉作为文档没有帮助太多) – 2011-01-24 18:42:19

+1

显然firefox已将nsITransport流设置为UTF-8所以任何高于255的字符是没有正确显示。 – 2011-01-24 18:46:22

0

对于非ASCII字符,输出流不可执行脚本安全操作,因此您需要将该流封装到nsIBinaryOutputStream,nsIUnicharOutputStream或nsIConverterOutputStream中。