PHP JSON 출력에서 UTF-8 보존
질문:
PHP의 json_encode 함수가 non을 이스케이프하는 것을 어떻게 방지할 수 있습니까? -ASCII 문자를 유니코드 시퀀스로 사용하시겠습니까? 원하는 출력은 유니코드 시퀀스가 아닌 UTF-8로 인코딩된 문자입니다. 예를 들어, "á" 값을 포함하는 배열은 {"a":"u00e1"}가 아닌 {"a":"á"}로 인코딩되어야 합니다.
답변:
JSON 사양에서는 두 가지 인코딩 형식을 모두 허용하지만 {"a":"u00e1"} 및 {"a":"á"}는 JSON 디코더에서 동일하게 처리됩니다.
PHP 버전 5.4 이상의 경우 json_encode JSON_UNESCAPED_UNICODE 옵션을 제공합니다. 이 옵션은 이스케이프 없이 일반 UTF-8 인코딩 문자를 출력합니다.
<code class="php">$json = json_encode($arr, JSON_UNESCAPED_UNICODE);</code>
이전 PHP 버전의 경우 다음 옵션을 고려하세요.
위 내용은 유니코드 이스케이프 없이 PHP JSON 출력에서 UTF-8 문자를 인코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!