> 백엔드 개발 > PHP 튜토리얼 > json_encode php의 json_encode 중국어 인코딩 문제 분석

json_encode php의 json_encode 중국어 인코딩 문제 분석

WBOY
풀어 주다: 2016-07-29 08:46:43
원래의
1143명이 탐색했습니다.

예: json_encode 처리 후 'Xu'는 'u80e5'가 되고, 최종 json의 중국어 부분은 유니코드 인코딩으로 대체됩니다. 우리가 해결해야 할 것은 객체를 json으로 변환하고 객체 내부의 중국어가 json에서 여전히 일반 중국어로 나타나는지 확인하는 것입니다. 이제 json_encode를 사용하는 것만으로는 목표를 달성할 수 없는 것 같습니다.
내 솔루션: 먼저 클래스의 중국어 필드를 URL 인코딩(urlencode)한 다음 개체를 json 인코딩(jsonencode)하고 마지막으로 최종 json인 json을 URL 디코딩(urldecode)하고 중국어 내부는 여전히 똑같습니다. 중국산이에요!
테스트 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


class myClass {
public $item1 = 1;
public $item2 = 'English';
function to_json() {
//url 인코딩, 중국어를 유니코드로 변환하는 json_encode 방지
$this-> item2 = urlencode($this->item2);
$str_json = json_encode($this);//URL 디코딩, json으로 변환한 후 각 속성을 반환합니다. 변경되지 않은 상태로 유지
$ this->item2 = urldecode($this->item2);
return urldecode($str_json)
}
}
$c = new myClass() ;
echo json_encode ($c);
echo '
'
echo $c->to_json();
echo json_encode( $c);
echo '
'
echo json_encode('胥')


프로그램 출력 결과:



코드 복사

코드는 다음과 같습니다.{"item1":1,"item2":" u4e2du6587"}

{"item1 ":1,"item2":"中文"}

{"item1":1,"item2":"u4e2du6587"}
"u80e5"


이 글이 모두의 더 나은 해결책을 모으는 출발점이 되기를 바랍니다...!
위 내용은 json_encode 내용을 포함하여 json_encode php의 json_encode 중국어 인코딩 문제 분석을 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿