php教程 PHP开发 gbk 및 gb2312 중국어 왜곡 문제를 처리하기 위한 PHP의 json_encode 솔루션

gbk 및 gb2312 중국어 왜곡 문제를 처리하기 위한 PHP의 json_encode 솔루션

Dec 27, 2016 pm 04:15 PM

이 문서에서는 PHP의 json_encode가 gbk 및 gb2312의 중국어 왜곡 문제를 처리하는 방법을 설명합니다. 구체적인 방법은 다음과 같습니다.

1.json_encode() 중국어는 gbk/gb2312에서 중국어에 대해 null을 반환합니다.

$arr = array (
 array (
   'catid' => '4',
   'catname' => 'www.jb51.net',
   'meta_title' => '脚本之家'
  )
);
  
echo json_encode($arr);
로그인 후 복사

실행 결과:

[{"catid":"4","catname":"www.jb51.net","meta_title":null}]
로그인 후 복사

"meta_title"을 살펴보시겠습니까? null 원래 값은 "Script Home"이었고 원칙적으로 json_encode는 uft-8 인코딩만 지원합니다.

<?php
$data="JSON中文";
$newData=iconv("GB2312″,"UTF-8//IGNORE",$data);
echo $newData;
//ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符都不会被保存。
//或是("GB2312″,"UTF-8″,$data);
?>
로그인 후 복사

2. 배경 PHP 페이지(페이지가 UTF-8로 인코딩되었거나 문자가 UTF-8로 변환됨)는 json_encode를 사용하여 PHP의 배열 배열을 JSON 문자열로 변환합니다. 예:

<?php
$testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
echo json_encode($testJSON);
?>
로그인 후 복사

출력 결과 보기:

{"name":"u4e2du6587u5b57u7b26u4e32″,"value":"test"}
로그인 후 복사

Visible UTF8로 인코딩된 문자를 사용하더라도 json_encode를 사용하면 중국어 문자가 깨져서 나타납니다. 해결 방법은 json_encode를 사용하기 전에 urlencode() 함수로 문자를 처리한 다음 json_encode를 사용하고 결과를 출력할 때 urldecode() 함수를 사용하여 다시 변환하는 것입니다. 세부 내용은 다음과 같습니다.

<?php
$testJSON=array(&#39;name&#39;=>&#39;中文字符串&#39;,&#39;value&#39;=>&#39;test&#39;);
//echo json_encode($testJSON);
foreach ( $testJSON as $key => $value ) {
$testJSON[$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $testJSON ) );
?>
로그인 후 복사

출력 결과 보기:

{"name":"中文字符串","value":"test"}
로그인 후 복사

요약: json_encode 함수는 uft8 문자열만 처리할 수 있습니다. 중국어인 경우 중국어 gbk와 uft의 길이가 다르기 때문에 아마도 바이트를 잘 처리하지 못할 것입니다.

PHP의 json_encode가 gbk 및 gb2312 중국어 왜곡 문제를 처리하는 방법에 대한 자세한 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)