PRB: 負整數項不通過為 Unicode HTML 實體參考

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:272138
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
尋求 Unicode 值的非拉丁字元 (例如 Hanzi 中文、 日文漢字或韓文韓文) 時,某些功能,例如 Microsoft Visual Basic (VB) 和 Visual Basic 指令碼 (VBScript) AscW] 函式可能會傳回負數。當您使用這個負數的數字做為一個 HTML 實體參考 (& #nnnn,其中 nnnn 是任一個十六進位或十進位 Unicode 編號),您看實體參考到對應的非英文字元代替的常值文字。
發生的原因
Unicode 的數字佔據一個 16 位元正值範圍從 0 到 65535 (0xFFFF),而且不能負數。
解決方案
AscW 傳回負數時, 它會傳回成對互補該數字的形式。若要轉換成對互補標記法成一般的二進位表示法將 0xFFF 加入至傳回的結果。如需相關範例請參閱 < 其他相關資訊 > 一節。
其他相關資訊

重製行為的步驟

  1. 下列的 HTML 程式碼儲存至檔案,名為 TestAscW.htm:
    <HTML><HEAD><TITLE>PRB: Negative Integers Do Not Work as Unicode HTML Entity  References</TITLE></HEAD><SCRIPT language="VBScript">// The character used below is the Japanese character "go" (8A9E in //Unicode).sub load()	div1.innerHTML = "Actual character is &#35486; & AscW output is &#" & AscW(ChrW(35486))end sub</SCRIPT><BODY language="VBScript" onload="load()"><DIV id="div1"></DIV></BODY></HTML>					
  2. 在 Internet Explorer 中開啟這個檔案。第二個字元參考會顯示未經處理的文字,而不是日文字元"移]。
若要解決這個問題,將指令碼區塊變更為下列:
function DecodeAscW(sOutput) 	sAscVal = AscW(sOutput) 	If sAscVal < 0 Then 			sAscVal = 65536 + sAscVal 	End If	DecodeAscW = sAscValend functionsub load()	div1.innerHTML = "Actual character is &#35486; AscW output is &#" &  DecodeAscW(ChrW(35486))end sub				
参考
如需有關 Microsoft Internet Explorer 開發 Web 為基礎的解決方案的詳細資訊,請造訪下列 Microsoft 網站:
AscW ChrW Unicode

警告:本文為自動翻譯

內容

文章識別碼:272138 - 最後檢閱時間:10/21/2013 00:51:35 - 修訂: 3.0

Microsoft Internet Explorer 4.0 128-Bit Edition, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 4.01 Service Pack 2, Microsoft Internet Explorer 5.0, Microsoft Internet Explorer 5.01, Microsoft Internet Explorer (Programming) 5.01 SP1, Microsoft Internet Explorer 5.5

  • kbnosurvey kbarchive kbmt kbdhtml kbintl kbintldev kbprb kbunicode KB272138 KbMtzh
意見反應