PHP_php 팁에서 json_encode 함수를 사용할 때 중국어를 이스케이프 처리하지 않는 솔루션
이 기사의 예에서는 PHP에서 json_encode 함수를 사용할 때 중국어를 이스케이프 처리하지 않는 솔루션을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
json_encode 함수는 gbk의 한자를 변환하거나 공백으로 직접 변환하지 않습니다. 이 기사는 json 이스케이프되지 않은 중국어 문제를 처리하는 방법에 대한 몇 가지 팁을 제공할 것입니다.
PHP와 함께 제공되는 json_encode() 함수를 호출하면 중국어 문자가 나타나면 중국어 문자가 이스케이프됩니다. 예:
// 출력: ["u4f60u597d"]
이는 횡설수설하는 말처럼 매우 짜증나는 일입니다. JSON 표준에서는 ASCII가 아닌 문자를 이스케이프 처리하지 않는다고 말합니다.
이 이스케이프를 비활성화하는 방법은 무엇입니까? 대답은 PHP 자체 json_encode()가 이 기능을 비활성화할 수 없다는 것입니다(버전 5.4.0 이전에는 JSON_UNESCAPED_UNICODE 옵션을 추가할 수 있음). 이를 위해 새 JSON 라이브러리로만 변경할 수 있습니다. 간단하게 json_encode()를 구현하기 위해 수십 줄의 코드를 작성했습니다.
{
정적 함수 json_encode($input){
//PHP 5.4.0부터 이 옵션이 추가되었습니다.
If(정의됨('JSON_UNESCAPED_UNICODE')){
return json_encode($input, JSON_UNESCAPED_UNICODE);
}
If(is_string($input)){
$text = $input;
$text = str_replace('\', '\\', $text);
$text = str_replace(
배열("r", "n", "t", """),
array('r', 'n', 't', '\"'),
$text);
'"' 반환 . $text . '"';
}else if(is_array($input) || is_object($input)){
$arr = 배열();
$is_obj = is_object($input) || (array_keys($input) !== range(0, count($input) - 1));
foreach($input as $k=>$v){
If($is_obj){
$arr[] = self::json_encode($k) . ':' . self::json_encode($v);
}else{
$arr[] = self::json_encode($v);
}
}
if($is_obj){
'{'를 반환합니다. Join(',', $arr) '}';
}그밖에{
'[' 를 반환합니다. Join(',', $arr) ']';
}
}그 외{
$input '';
을 반환합니다. }
}
}
연관배열(is_obj) 판단 등 고려하지 않은 사항은 문제가 발생하면 이야기하자. 클래스가 마음에 들지 않으면 직접 순수 함수로 변환하고 이름을 바꾸면 된다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
