Dans le projet d'aujourd'hui, j'ai rencontré la situation où j'avais besoin pour coder les caractères chinois avec JavaScript, puis les décoder avec un inconvénient. Lors du test du segment de code, j'avais un code brouillé.
La situation spécifique est la suivante:
Tout d'abord, utilisez EditPlus pour ouvrir la page de test test.html et modifiez le code HTML suivant:
<! Doctype html public "- // w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><html xmlns = "http://www.w3.org/1999/xhtml"> <éad> <méta http-equiv = "contenu-type" contenu = "text / html; charset = utf-8" /> <it titre> un test uneScape </Title> </-head> <od body> <cript> var> var> teststr = Escape ("wulin.com"); document.write (teststr); </cript> </body> </html>Page Printout:
% ufffd% u0171% ufffd% u05ae% ufffd% ufffd% ufffd
Pour le moment, nous pouvons voir que la situation est fausse. Il est déjà faux en termes de nombre de caractères correspondant aux caractères chinois!
Ensuite, utilisez le code suivant pour tester les caractères chinois décodés par UnESCAPE:
var relstr = unescape ("% ufffd% u0171% ufffd% u05ae% ufffd% uffd"); Document.Write (RELSTR);Le code des ordures apparaît: �ű� ֮��
Solution:
J'ai ouvert le fichier test.html avec Dreamweaver et j'ai trouvé le problème!
La partie originale
var teststr = Escape ("wulin.com");Devenir
var testStr = Escape ("ű֮");On peut voir qu'il est causé par le codage initial de l'éditeur!
Changez les caractères chinois dans Dreamweaver, remercez le test.html et obtenez le codage correspondant:
% U811A% U672C% U4E4B% U5BB6
Ensuite, utilisez un inscapage pour décoder:
var relstr = unescape ("% u811a% u672c% u4e4b% u5bb6"); Document.Write (RELSTR);Ensuite, j'ai obtenu le caractère chinois correct original: wulin.com!