IE 브 라 우 저 와 FF 브 라 우 저 는 Ajax 가 전달 하 는 매개 변수 값 이 중국어 일 때의 차이 점 인 스 턴 스 분석
앞에서 을 소 개 했 는데 여기 서 ajax 가 중국어 파 라 메 터 를 전달 하 는 과정 에서 서로 다른 브 라 우 저 에 대한 어 지 러 운 처리 방법 을 분석 해 보 았 습 니 다.
Ajax 가 매개 변 수 를 중국어 로 전달 할 때 오류 가 발생 했 습 니 다.제 가 만난 상황 은:
1.내 데이터베이스 연결 인 코딩 은 GB 2312,latin 1swedish_ci
2.php 파일 인 코딩 형식 은 UTF-8 이 고 브 라 우 저 디 스 플레이 인 코딩 은 UTF-8 입 니 다.
3.제 페이지 표시 방식 은 두 가지 입 니 다.
1)페이지 를 불 러 올 때 자동 으로 불 러 옵 니 다.1 초 마다 새로 고침 합 니 다.
2)하나의 유닛 이름 을 클릭 하면 해당 유닛 에 해당 하 는 멤버 카드 정 보 를 얻 을 수 있 습 니 다.
4.첫 번 째 상황 에 대한 처리:
control.php 페이지 에서 session 획득:
데이터베이스 내용 읽 기:
line 53:
$grouparr[] = iconv("GB2312","UTF-8",$g[0]); // UTF-8,
line106: $_SESSION['dispatchgroup'] = iconv("UTF-8","GB2312",$grouparr[0]);// GB2312, dispatchinfo.php , GB2312 。
dispatchinfo.php: line 291
if($_SESSION['dispatchgroup']){
$groupaddressinfo = function_listaddressesbygroup($_SESSION['dispatchgroup'],1,$value,0,$_SESSION['dispatchexten'],$_SESSION['dispatchgrouppage']);
//2013-5-17$groupaddressinfo = "listaddressesbygrouptype|0|LocalExt|1|12|1,,,801, ,,|1,,,802, ,,|1,,,803, ,,|1,,,804, ,,|,,,805, ,,|,,,806, ,,|,,,807, ,,|,,,808, ,,|,,,809, ,,|,,,810, ,,|5, ,,811,10.1.6.189; |6,,,812,user2; |";
}
이런 상황 은 IE 와 FF 가 모두 정상적으로 표 시 될 수 있다.5.두 번 째 상황 에 대해:
'유닛'이름 을 누 르 면 클릭 한 유닛 별 중국어 이름 을 얻 을 수 있 습 니 다.Ajax 를 통 해 dispatchinfo 2.phop 파일 에 전달 하여 처리 합 니 다.수정 하기 전에 js 가 이 벤트 를 클릭 한 후에 얻 은 중국어 이름 은 alert 가 모두 정상 값[형식 은 UTF-8]입 니 다.이때 데이터베이스 에 있 는 내용 은 GB 2312 입 니 다.이때 iconv 코드 를 거치 면 오류 가 발생 합 니 다.
첫 번 째 상황 에 대해 서 만,나 는 처리 할 때 인 코딩 을 바 꾸 는 방식 을 채택 하기 때문이다.
$groupname = iconv("GB2312","UTF-8",$groupname);
이 때 다시 인 코딩 하면 오류 가 발생 합 니 다.해결 방법:
JS 의 비동기 제출 처리:
checkval();
var ajax = InitAjax();
var url = "dispatchinfo2.php?"+arges;
//2013-08-21 limx
url = encodeURI(encodeURI(url));
ajax.open('GET',url,true);
dispatchinfo2.php
$groupname = urldecode($groupname);
$groupname = iconv("utf-8","GB2312",$groupname);
네 줄 코드 는 중국어 인 코딩 문 제 를 완벽 하 게 해결 합 니 다.AJAX 가 데 이 터 를 보 내 는 것 은 모두 UTF-8 인 코딩 으로 보 내 는 것 이기 때문에 서버 쪽 에서 인 코딩 변환 을 해 야 합 니 다(여기 페이지 는 GB 2312 인 코딩 을 사 용 했 는데 UTF-8 을 사 용 했 으 면 이런 문 제 는 없 었 을 것 입 니 다).그래서 서버 쪽 에서 UTF-8 을 GB 2312 로 돌 렸 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 ajax 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
원생 Ajax와 jQuery Ajax의 차이점 예시 분석선언: 이번에 소개한 것은 aax와 백그라운드를 이용하여 데이터 교환을 하는 작은 예이기 때문에 demo는 서버를 통해 열어야 합니다.서버 환경은 구축하기 매우 좋다. 인터넷에서wamp나xampp를 다운로드하여 한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.