비ASCII 문자에 대한 PHP의 json_encode 출력에서 UTF-8 인코딩 보장
mb_internal_encoding 및 utf8_encode를 통해 UTF-8 인코딩을 활성화하려는 노력에도 불구하고 , json_encode는 결과 JSON 문자열에 유니코드 이스케이프 문자를 계속 반환합니다. 이 문제는 다양한 접근 방식을 통해 해결될 수 있습니다.
PHP 5.4의 JSON_UNESCAPED_UNICODE 옵션
PHP 5.4 이상을 사용하는 경우 json_encode를 호출할 때 JSON_UNESCAPED_UNICODE 옵션을 활용하세요. 이 옵션은 유니코드 이스케이프를 명시적으로 비활성화하여 예상되는 출력: {"a":"á"}로 이어집니다.
비ASCII를 지원하는 사용자 정의 JSON 인코더
의 경우 이전 PHP 버전에서는 ASCII가 아닌 문자를 이스케이프하지 않는 사용자 정의 JSON 인코더를 만듭니다. 이 접근 방식을 사용하면 JSON 문자열이 원래 입력을 정확하게 나타낼 수 있습니다.
Pear의 JSON 인코더 수정
대체 솔루션은 349~433행을 제거하여 Pear의 JSON 인코더를 수정하는 것입니다. 이 변경 사항은 인코더 내에서 유니코드 이스케이프를 효과적으로 비활성화하여 원하는 결과를 얻습니다.
결론
이러한 기술은 UTF-8로 인코딩된 JSON 문자열을 출력하는 실행 가능한 방법을 제공합니다. 유니코드 이스케이프 없이 비ASCII 문자를 정확하게 표현합니다.
위 내용은 귀하의 기사에 적합한 몇 가지 질문 기반 제목은 다음과 같습니다. * PHP 출력에서 json_encode가 여전히 비ASCII 문자를 이스케이프하는 이유는 무엇입니까? * PHP의 json_encode 출력에서 UTF-8 인코딩을 어떻게 보장할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!