No projeto de hoje, encontrei a situação em que precisava codificar caracteres chineses com JavaScript e depois decodificá -los com menos escapados. Ao testar o segmento de código, eu tinha um código iluminado.
A situação específica é a seguinte:
Primeiro, use o EditPlus para abrir o teste de página de teste.html e edite o seguinte código HTML:
<! xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <title> Teste </title> </body> <fript> <fript> <fript> <argod> <fript> <bript = utf-8 "/> <title> teststr = escape ("wulin.com"); document.write (teststr); </script> </body> </html>Impressão de página:
%ufffd%u0171%ufffd%u05ae%ufffd%ufffd%ufffd
Neste momento, podemos ver que a situação está errada. Já está errado em termos do número de caracteres correspondentes a caracteres chineses!
Em seguida, use o código a seguir para testar os caracteres chineses decodificados pela UNESCAPE:
var Relstr = UNESCAPE ("%ufffd%u0171%ufffd%u05ae%ufffd%uffd"); document.write (relstr);O código de lixo aparece: �ű� ֮�����
Solução:
Abri o arquivo test.html com o Dreamweaver e encontrei o problema!
A parte original
var teststr = escape ("wulin.com");Tornar-se
var teststr = escape ("ű֮");Pode -se observar que é causado pela codificação inicial do editor!
Altere os caracteres chineses em Dreamweaver, reetram test.html e obtenha a codificação correspondente:
%u811a%u672c%u4e4b%u5bb6
Em seguida, use UNESCAPE para decodificar:
var Relstr = UNESCAPE ("%U811A%U672C%U4E4B%U5BB6"); document.write (relstr);Então eu tenho o personagem chinês correto original: Wulin.com!