PHP에서 중국어를 이스케이프 처리하지 않고 json_decode를 구현하는 방법에 대한 자세한 설명

墨辰丷
풀어 주다: 2023-03-27 12:36:02
원래의
2717명이 탐색했습니다.

이 글에서는 주로 중국어를 벗어나지 않고 json_decode를 구현하는 PHP의 방법을 소개합니다. 중국어를 벗어나지 않고 json_decode를 구현하기 위한 php5.4+ 및 5.3 버전에 대한 구체적인 작동 기술 및 관련 주의 사항에 대한 자세한 분석과 예제 형식을 결합합니다. 필요하실 수 있습니다. 참고

자세한 내용은 다음과 같습니다.

기본적으로 PHP의 json_decode 메소드는 특수 문자를 이스케이프 처리하고 중국어를 유니코드 인코딩 형식으로 변환합니다. Unicode编码形式。

这使得数据库查看文本变得很麻烦。所以我们需要限制对于中文的转义。

对于PHP5.4+版本,json_decode函数第二个参数,可以用来限制转义范围。

要限制中文,使用JSON_UNESCAPED_UNICODE

이로 인해 텍스트 데이터베이스 보기가 번거로워집니다. 그래서 우리는 중국인의 탈출을 제한해야 합니다.

PHP5.4+ 버전의 경우 json_decode 함수의 두 번째 매개변수를 사용하여 이스케이프 범위를 제한할 수 있습니다.

중국어를 제한하려면 JSON_UNESCAPED_UNICODE 매개변수를 사용하세요.

json_encode($a, JSON_UNESCAPED_UNICODE);
로그인 후 복사

PHP5.3 버전의 경우 json_decode 함수에 의한 트랜스코딩을 피하기 위해 먼저 ASCII 127 이상의 문자를 HTML 값으로 변환할 수 있습니다:

function my_json_encode($arr)
{
    //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding
    array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); });
    return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
}
로그인 후 복사
관련 권장사항:

php는 앱 인터페이스를 구현하고

json데이터 메서드를 반환합니다.

getJSON()은 서버에 비동기적으로

json 형식 데이터를 반환하도록 요청합니다(그래픽 튜토리얼)

JS

🎜🎜🎜🎜🎜🎜🎜🎜🎜에서 JSON 객체 정의 및 값 구현 단계에 대한 자세한 설명

위 내용은 PHP에서 중국어를 이스케이프 처리하지 않고 json_decode를 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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