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中。