ajax 중국어 난 코드 문제 해결 방안
<%@ page contenttype="text/html;charset=gb2312%>
servlet 을 사용 하면
response.setcontenttype("text/html;charset=gb2312");
request.setcharacterencoding("gb2312");
을 추가 하 는 더 좋 은 방법 은 filter 를 추가 하 는 것 이다
response.setcontenttype("text/html;charset=gb2312");
request.setcharacterencoding("gb2312");
.모든 것 이 해결 되 었 다.다시 한 번 클 라 이언 트 에서 데 이 터 를 올 리 려 면 서버 에서 인 코딩 전환
string param = request.getparamter("param");
param = new string(param.getbytes("iso-8859-1"),"gb2312");
을 해 야 한다.지금 은 모두 중국어 이다.앞 배경 인 코딩 이 일치 하 는 것 을 주의 하 십시오.당신 은 중국 어 를 사용 합 니 다.ajax 가 데 이 터 를 전송 할 때 utf-8
<script>
var oxmlhttp = new activexobject( "microsoft.xmlhttp ");
oxmlhttp.open( "get ", "http://dotnet.aspx.cc/content.aspx ", false);
oxmlhttp.send()
var ostream = new activexobject( "adodb.stream ");
if(ostream == null)
alert( " adodb.stream. ")
else
{
ostream.type=1;
ostream.mode=3;
ostream.open() ;
ostream.write(oxmlhttp.responsebody);
ostream.position= 0;
ostream.type= 2;
ostream.charset= "gb2312 ";
var result= ostream.readtext();
ostream.close();
ostream = null;
alert( result);
}
</script>
클 라 이언 트 파일 의 인 코딩 은 gb 2312 로 설정 되 어 있 습 니 다.아래 코드 와 같이 html 코드
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
가 보 낸 url 주소 에서 조회 문자열 이나 post 방식 으로 보 낸 요청 내용 은 escape 함수 로 인 코딩 하지 마 십시오.기억 하 십시오!서버 쪽 에 있 는 jsp 튜 토리 얼 파일 도 gb 2312 인 코딩 형식 으로 설정 되 어 있 습 니 다.아래 코드 와 같이 jsp 코드 나 response 의 머리 를 설정 합 니 다.아래 코드 와 같이
response.setheader("content-type","text/html; charset=gb2312");
두 가지 원 리 는 같 습 니 다.가장 중요 한 것 은 파 라 메 터 를 가 져 올 때 가 져 온 문자열 을 다시 인 코딩 하 는 것 입 니 다.아래 코드 와 같이
string username = new string(request.getparameter("username").getbytes("iso8859_1"),"gb2312");
그 중에서 username 은 받 은 매개 변수 입 니 다.out.print(username)직접 사용 하기;클 라 이언 트 에 게 중국 어 를 되 돌려 줄 수 있 습 니 다.클 라 이언 트 에서 xmlhttp.responsetext 속성 을 직접 사용 하면 되 돌아 오 는 중국 어 를 직접 사용 할 수 있 습 니 다!첨부 파일 에서 내 가 테스트 하 는 작은 예 는 tomcat 6.0 과 resin 2.1.8 에서 테스트 를 통과 했다!사실 필 터 를 추가 하 는 것 도 하나의 해결 방안 이다.제출 방법 이 get 일 때 서버 에 적 혀 있 을 때 이 코드
string username = new string(request.getparameter("username").getbytes("iso8859_1"),"gb2312");
가 post 일 때 이 렇 겠 죠
string username = new string(request.getparameter("username").getbytes("iso8859_1"),"utf-8");
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javascript에서 XHR/fetch 메서드를 재정의하는 방법은 무엇입니까?XHR에 후크를 추가하거나 요청을 가져오기 위해 javascript의 Proxy 객체를 사용할 것입니다. 그리고 모든 요청에 데이터를 보내거나 모든 응답 데이터를 필터링하려는 시나리오에 직면합니다. API 호출에 후...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.