Im heutigen Projekt habe ich die Situation begegnet, in der ich chinesische Zeichen mit JavaScript codieren und sie dann mit unausweichlichem entschlüsseln musste. Beim Testen des Codesegments hatte ich den Code verstümmelt.
Die spezifische Situation ist wie folgt:
Verwenden Sie zunächst EditPlus, um den Test -Page -Test zu öffnen. HTML und den folgenden HTML -Code bearbeiten:
<! DocType html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transsitional.dtd"><Htmlmlml xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <title> Unscape-Test </title> </head> <body> testStr = Escape ("wulin.com"); document.write (testStr); </script> </body> </html>Seitenausdruck:
%UFFFD%U0171%UFFFD%U05AE%UFFFD%UFFFD%UFFFD
Zu diesem Zeitpunkt können wir sehen, dass die Situation falsch ist. Es ist bereits falsch in Bezug auf die Anzahl der Zeichen, die chinesischen Zeichen entsprechen!
Verwenden Sie dann den folgenden Code, um die von Unscape dekodierten chinesischen Zeichen zu testen:
var relstr = uneinflüssig ("%UFFFD%U0171%UFFFD%U05AE%UFFFD%UFFD"); document.write (relstr);Müllcode erscheint: �ű� ֮��
Lösung:
Ich habe die Datei test.html mit Dreamweaver geöffnet und das Problem gefunden!
Der ursprüngliche Teil
var teststr = Escape ("wulin.com");Werden
var teststr = Escape ("ű֮");Es ist zu sehen, dass es durch die anfängliche Codierung des Herausgebers verursacht wird!
Ändern Sie die chinesischen Charaktere in Dreamweaver, rerun test.html und erhalten Sie die entsprechende Codierung:
%U811a%U672C%U4E4B%U5BB6
Verwenden Sie dann unabgeordnet, um zu dekodieren:
var relstr = unemplary ("%U811a%U672C%U4E4B%U5BB6"); document.write (relstr);Dann habe ich den ursprünglichen korrekten chinesischen Charakter: Wulin.com!