>  기사  >  웹 프론트엔드  >  이스케이프 기능은 js_javascript 기술의 Ajax 전송에서 문자가 깨지는 문제를 해결합니다.

이스케이프 기능은 js_javascript 기술의 Ajax 전송에서 문자가 깨지는 문제를 해결합니다.

WBOY
WBOY원래의
2016-05-16 16:32:341427검색

이 기사의 예는 JS의 Ajax 전송에서 한자가 깨져 나오는 문제를 이스케이프 기능이 어떻게 해결하는지 설명합니다. 참고용으로 모든 사람에게 공유합니다. 구체적인 방법은 다음과 같습니다.

1. 문제 설명:

원래 웹 페이지 특수 효과의 escape()는 iso-8859-1 문자 집합에 따라 중국어로 인코딩되어 요청 매개변수를 request.getparameter()를 통해 직접 얻을 수 있지만 나중에 자바스크립트는 escape( ) )가 유니코드 문자 세트 인코딩으로 대체되었습니다. 결과적으로 jsp 튜토리얼 및 서블릿에서 요청 매개변수를 직접 얻을 수 없습니다. 구체적인 이유는 모르겠습니다.

2.

1. 먼저 escape()로 한자를 두 번 인코딩합니다. 매개변수 이름이 "Hello"인 경우 URL 형식은...name=escape("Hello"입니다. ") ), 이러한 방식으로 인코딩된 매개변수는 request.getparameter()에서 얻을 수 있습니다.

2. 획득한 매개변수는 %u4f60%u597d 형식이므로 일반 urldecoder.decode()를 사용하여 디코딩할 수 없습니다. 다행히 세상에는 도구 클래스를 직접 찾을 수 있는 충분한 재능이 있습니다. Internet., javascript에서 escape() 및 unescape() 스타일 인코딩 및 디코딩을 실현할 수 있습니다

코드 복사 코드는 다음과 같습니다.