DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 272138 - Última revisão: quinta-feira, 11 de maio de 2006 - Revisão: 3.0

 

Nesta página

Sintomas

Algumas funções, como a função de script do Visual Basic (VBScript) AscW e Microsoft Visual Basic (VB), podem retornar um número negativo quando você solicitar o valor Unicode de um caractere não-latino (como Hanzi chinês, japonês kanji ou Hangul coreano). Quando você usa esse número negativo como uma referência de entidade HTML (& # nnnn , onde nnnn é um decimal ou hexadecimal Unicode número), você vê a referência de entidade como texto literal, em vez do caractere não-latino correspondente.

Causa

Números de Unicode ocupam um intervalo de positivo de 16 bits de 0 a 65535 (0xFFFF) e não podem ser negativos.

Resolução

Quando AscW retornará um número negativo, ela retorna que os pares complementam forma desse número. Para converter os pares complementam notação em notação binária normal, adicionar 0xFFF o resultado de retorno. Para obter um exemplo, consulte a seção "Mais informações".

Mais Informações

Etapas para reproduzir o problema

  1. Salve o seguinte código HTML em um arquivo chamado 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. Abra este arquivo no Internet Explorer. A segunda referência de caractere é exibida como texto bruto e não como o caractere japonês "go".
Para contornar esse problema, altere o bloco de script para o seguinte:
function DecodeAscW(sOutput) 
	sAscVal = AscW(sOutput) 
	If sAscVal < 0 Then 	
		sAscVal = 65536 + sAscVal 
	End If
	DecodeAscW = sAscVal
end function

sub load()
	div1.innerHTML = "Actual character is &#35486; AscW output is &#" &  DecodeAscW(ChrW(35486))
end sub
				

Referências

Para obter mais informações sobre como desenvolver soluções baseadas na Web para o Microsoft Internet Explorer, visite os seguintes sites:
http://msdn.microsoft.com/ie/ (http://msdn.microsoft.com/ie/)

http://support.microsoft.com/iep (http://support.microsoft.com/iep)

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer 4.0 Edição de 128 Bits
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer (Programming) 5.01 SP1
  • Microsoft Internet Explorer 5.5
Palavras-chave: 
kbmt kbdhtml kbintl kbintldev kbprb kbunicode KB272138 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 272138  (http://support.microsoft.com/kb/272138/en-us/ )
Retired KB ArticleAviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store