2010-03-12 14 views
0

JSON에 배열을 인코딩 할 때 á 대신 "u00e1"이 나타납니다.json 문자 인코딩 문제

어떻게 문자 인코딩을 해결할 수 있습니까?

감사합니다.

+0

당신은 어떻게 당신의 배열을 인코딩 할 당신은 인코딩 된 배열 것을 어떻게 처리합니까? – Gumbo

+0

사용중인 언어 (PHP/Python/ASP/...)와 입력 내용 (데이터베이스/HTTP 제출 양식/...)을 추가 할 수 있습니다. – janmoesen

답변

1

브라우저의 기본 인코딩은 아마도 유니 코드 UTF-8입니다. 시도해보십시오 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">.

4

입력 데이터가 유니 코드가 아닙니다. 0xE1은 á 용 레거시 latin1/ISO-8859 - */Windows-1252입니다. \ u00e1은이를 인코딩하는 JSON/JavaScript입니다. JSON 유니 코드 인코딩을 사용해야합니다.

입력을 수정하거나 iconv와 같은 것을 사용하여 해결하십시오.

0

응답 만 확인하면 응답에 문제가 발생할 수 있습니다 (응답은 텍스트이지만 JSON은 개체 여야합니다).

자바 스크립트 객체 (자바 스크립트에서는 JSON.parse)가되도록 응답 텍스트를 구문 분석해야하며 이후에는 문자가 서버 측과 동일하게됩니다.

예 : PHP 코드 서버에서 :

$myString = "árvízrtűrő tükörfúrógép"; 
echo json_encode($myString); //this sends the encoded string via a protocol that maybe can handle only ascii characters, so the result on the client side is: 

클라이언트 측

alert(response); //check the text sent by the php 

출력 "\ u00e1rv \ u00edzrt \ u0171r \ u0151 t \ u00fck \ u00f6rf \ u00far \ u00f3g \ u00e9p "

는 respopnse에서 JS 객체를 확인

,893,210

출력 : "árvízrtűrő tükörfúrógép"는