AJAX 중국어 난 장 판 문제 검토 및 해결
1) 전송 경로 의 매개 변 수 는 중국어 로 되 어 있 으 며, 서버 세그먼트 에서 매개 변 수 를 받 는 값 은 난해 합 니 다.
예 를 들 면:
var url = "a. jsp? name = 샤 오리";
xmlHTTP.open ("post",url,true);
해결 방법:
javascript 에서 제공 하 는 escape () 또는 encodeURI () 방법 을 이용 합 니 다.
예 를 들 면:
클 라 이언 트:
var url = "a. jsp? name = 샤 오리";
url=encodeURI(url);
url=encodeURI(url); //두 번... 중요 해 요. [구체 적 으로 왜 그런 지 모 르 겠 어 요.]
/********************************************/
var url = "a. jsp? name = escape (" 샤 오리 ")" 라 고 쓰 는 사람 도 있다.
기능 은 encodeURI 방법 과 유사 합 니 다.
/********************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP. setrequestheader ("contentType", "text / html; charset = uft - 8") / / 데 이 터 를 보 낼 인 코딩 형식 을 지정 합 니 다.
xmlHTTP.open ("post",url,true);
서버 쪽:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode(name, "UTF-8");
2) 되 돌아 오 는 responseText 나 responseXML 의 값 에 중국어 가 포함 되 어 있 습 니 다.
이유: AJAX 는 responseText 나 responseXML 의 값 을 받 을 때 UTF - 8 형식 으로 디 코딩 합 니 다. 서버 세그먼트 에서 보 낸 데이터 가 UTF - 8 형식 이 아니라면 responseText 나 responseXML 의 값 을 받 는 것 은 어 지 러 울 수 있 습 니 다.
해결 방법: 서버 에서 데 이 터 를 보 낼 형식 을 지정 합 니 다.
서버 에서:
response.setCharacterEncoding("UTF-8");
response.setContentType("text/text;charset=UTF-8");// txt
response.setContentType("text/xml;charset=UTF-8");// xml
response.setContentType("application/json");// json
PrintWriter bw = response.getWriter();//
bw.write(result);
bw.flush();
bw.close();
요약: 1) ajax 가 데 이 터 를 제출 하 는 형식 은 기본적으로 utf - 8 이 며, javascript 에서 제공 하 는 escape () 또는 encodeURI () 방법 을 이용 합 니 다. 서버 에서 받 을 때 자바. net. URLDecoder. decode ("," UTF - 8 ") 방법 으로 디 코딩 해 야 합 니 다.
2) xtmlhttp 에서 돌아 오 는 데이터 의 기본 문자 인 코딩 은 utf - 8 이 므 로 서버 가 클 라 이언 트 에 데 이 터 를 보 낼 때 도 utf - 8 인 코딩 을 사용 해 야 합 니 다.
만약 상술 한 방법 이 여전히 난 코드 문 제 를 해결 하지 못 한다 면, jsp, htm, java 파일 을 UTF - 8 인 코딩 형식 으로 저장 해 보십시오.
한 마디 로 하면 앞 배경 데이터 의 상호작용 은 모두 utf - 8 인 코딩 을 사용 하면 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.