오늘의 프로젝트에서, 나는 중국어를 JavaScript로 인코딩하고 Escape로 해독 해야하는 상황을 만났습니다. 코드 세그먼트를 테스트 할 때 코드를 잡았습니다.
특정 상황은 다음과 같습니다.
먼저 EditPlus를 사용하여 테스트 페이지 테스트를 열고 다음 HTML 코드를 편집하십시오.
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w.w.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><Html xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv = "content-type"content = "text/html; charset = utf-8"/> <title> unescape test </title> <body> <cript> var teststr = Escape ( "wulin.com"); docum
페이지 인쇄물 :
%UFFFD%U0171%UFFFD%U05AE%UFFFD%UFFFD%UFFFD
현재 우리는 상황이 잘못되었음을 알 수 있습니다. 한자에 해당하는 캐릭터 수 측면에서 이미 잘못되었습니다!
그런 다음 다음 코드를 사용하여 Unescape로 디코딩 된 한자를 테스트하십시오.
var relstr = unescape ( "%ufffd%U0171%ufffd%u05ae%ufffd%uffd"); document.write (relstr);
쓰레기 코드가 나타납니다
해결책:
DreamWeaver로 Test.html 파일을 열고 문제를 발견했습니다!
원래 부분
var teststr = 탈출 ( "wulin.com");
이 되다
var teststr = 탈출 ( "ű֮");
편집기의 초기 인코딩으로 인해 발생한다는 것을 알 수 있습니다!
DreamWeaver에서 한자를 변경하고 테스트를 다시 시작하고 해당 인코딩을 가져옵니다.
%U811A%U672C%U4E4B%U5BB6
그런 다음 에스케이프를 사용하여 디코딩을 사용하십시오.
var relstr = unescape ( "%u811a%u672c%u4e4b%u5bb6"); document.write (relstr);
그런 다음 원래 올바른 중국어를 얻었습니다 : wulin.com!