JSON은 유니코드만을 지원한다. JSON으로 데이터를 보낼때는 유니코드 형식으로 보내야만 한다. euck-kr로 인코딩해서
보낼 경우, 익스플로어 6.0이상 버전에는 문제가 없지만, 하위 버전의 브라우저에서는 한글로 인해, 스크립트 에러가 발생할 수
있다. 이러한 스크립트 에러로 JSON 객체가 생성되지 않을 것이다. 이럴 경우 JSON데이터의 인코딩을 반드시 유니코드
형식으로 설정해야 한다.
PHP에서 데이터 생성시
echo rawurlencode(iconv("CP949", "UTF-8", $strData));
iconv함수는 원하는 문자인코딩으로 변경시켜주는 PHP함수 인데, 이 함수를 이용하여 CP949(MS 확장 완성형, euc-kr 포함)를 UTF-8로 인코딩 시켜줍니다.
rawurlencode 함수는 URI문자를 인코드하는 함수입니다.
넘겨받은 인코드된 데이터는 자바스크립트에서 다음과 같이 디코드 할 수 있습니다.
var jsonData = decodeURIComponent(response);
decodeURIComponent함수는 알다시피 인코드된 URI문자를 디코드 하는 함수입니다.
var jsonData = decodeURIComponent(response);
PHP에서 데이터 생성시
echo rawurlencode(iconv("CP949", "UTF-8", $strData));
iconv함수는 원하는 문자인코딩으로 변경시켜주는 PHP함수 인데, 이 함수를 이용하여 CP949(MS 확장 완성형, euc-kr 포함)를 UTF-8로 인코딩 시켜줍니다.
rawurlencode 함수는 URI문자를 인코드하는 함수입니다.
넘겨받은 인코드된 데이터는 자바스크립트에서 다음과 같이 디코드 할 수 있습니다.
var jsonData = decodeURIComponent(response);
decodeURIComponent함수는 알다시피 인코드된 URI문자를 디코드 하는 함수입니다.
var jsonData = decodeURIComponent(response);
'9. 도서관 > __사. Network' 카테고리의 다른 글
utf-8 페이지에서 euc-kr로(또는 역으로) post전송시 charset 설정하기 - ie only (0) | 2008.11.27 |
---|---|
자바에서 한글을 쓰기 위해서는 charset을 EUC-KR로 써라 (0) | 2008.11.27 |
쉘배우기 (0) | 2008.11.27 |
Ubuntu + Squid를 이용한 프록시 구성하기 (0) | 2008.11.27 |
초급 서버관리자를 위한 쉘스크립트 1탄 - Apache VirtualHost 쉽게 셋팅하기 (0) | 2008.11.27 |
댓글