php json을 중국어로 변환하는 방법: 1. 중국어 필드를 Urlencode합니다. 2. json_encode 함수를 사용하여 인코딩합니다. 3. urldecode를 사용하여 결과를 처리합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, Dell G3 컴퓨터
php json을 중국어로 변환하는 방법은 무엇입니까? PHP는 중국어 json 형식 문자열을 어떻게 변환합니까? json 형식 문자열을 변환하는 방법은 무엇입니까? PHP 매뉴얼에는 두 가지 기능이 제공됩니다:
json_encode: 변수의 JSON 인코딩 json_decode: JSON 형식 문자 문자열 인코딩 예를 살펴보겠습니다. 아래:$arr = ['a', 'b', 'c'];echo json_encode($arr);출력은 다음과 같습니다.
["a","b","c"]그러나 배열에 한자를 넣으면 문제가 발생합니다.
$arr = [ '世界', '你好',];echo json_encode($arr);출력 결과는 다음과 같습니다.
["\u4e16\u754c","\u4f60\u597d"]이 결과는 분명히 우리가 원하는 것이 아니지만 왜 이렇게 됩니까? 일어나다? 값에 중국어가 포함되어 있으면 PHP가 json 인코딩을 수행하면 맨 아래 레이어에서 중국어에 대한 유니코드 인코딩을 수행하여 결과를 읽을 수 없게 됩니다. 그렇다면 어떻게 해결해야 할까요? 방법 1 urlencode, urldecode 메소드를 사용하여 유니코드로 트랜스코딩하는 과정을 우회할 수 있습니다. 먼저 중국어 필드를 urlencode한 다음 json_encode를 사용하고 마지막으로 urldecode를 사용하여 결과를 처리하면 중국어가 정상적으로 표시될 수 있습니다. 구체적인 코드는 다음과 같습니다.
$arr = [ '世界', '你好',];echo urldecode(json_encode(array_map('urlencode', $arr)));출력 결과는 다음과 같습니다.
["世界","你好"]방법 2PHP5.4 버전부터 공식에서는 Json에 JSON_UNESCAPED_UNICODE라는 새로운 옵션을 추가했습니다. 이 옵션을 추가하면 중국어가 자동으로 인코딩되지 않습니다. 구체적인 코드는 다음과 같습니다:
$arr = [ '世界', '你好',];echo json_encode($arr, JSON_UNESCAPED_UNICODE);출력은 다음과 같습니다:
["世界","你好"]보세요, 이것이 우리가 원하는 결과입니다 :)Note우리가 주목해야 할 것은 json_encode와 json_decode가 utf-8만 지원한다는 것입니다. 인코딩된 문자, gbk 문자에 대해 json 함수를 사용하려면 해당 문자를 변환해야 합니다. 추천 학습: "
PHP 비디오 튜토리얼
"위 내용은 PHP JSON을 중국어로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!