>  기사  >  백엔드 개발  >  PHP의 json_encode() 함수를 사용하여 JSON의 특수 문자를 올바르게 인코딩하는 방법은 무엇입니까?

PHP의 json_encode() 함수를 사용하여 JSON의 특수 문자를 올바르게 인코딩하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-18 17:10:03161검색

How to Correctly Encode Special Characters in JSON with PHP's json_encode() Function?

JSON 인코딩 및 특수 문자

json_encode() 함수를 사용하여 배열을 인코딩하는 동안 특수 문자가 포함된 요소가 다음으로 변환되는 경우가 있습니다. 빈 문자열. 이 동작은 저작권 또는 상표 기호와 같은 문자에서 특히 두드러집니다.

이 문제를 해결하려면 모든 문자열 데이터를 JSON으로 인코딩하기 전에 UTF-8로 인코딩했는지 확인하세요. 이는 utf8_encode() 함수와 함께 array_map()을 사용하여 달성할 수 있습니다.

<code class="php">$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);</code>

PHP 매뉴얼에 언급된 대로 json_encode()에서는 모든 문자열 데이터를 UTF-8로 인코딩해야 합니다. JSON 인코딩 전에 배열 요소를 UTF-8로 인코딩함으로써 특수 문자가 JSON 출력에 올바르게 표시되는지 확인합니다.

명확성을 위해 UTF-8이 있는 것과 없는 배열을 인코딩한 결과를 비교해 보겠습니다. 인코딩:

UTF-8 인코딩 없음:

<code class="php">$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}</code>

UTF-8 인코딩 사용:

<code class="php">$arr = array_map('utf8_encode', ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"]);
$json = json_encode($arr); // {"funds":"ComStage STOXX\u00c2\u00aeEurope 600 Techn NR ETF"}</code>

UTF-8 인코딩을 적용하면 특수 문자가 JSON 출력에 올바르게 표시됩니다. 적절한 인코딩을 위해서는 utf8_encode()를 일관되게 사용하는 것을 잊지 마세요.

위 내용은 PHP의 json_encode() 함수를 사용하여 JSON의 특수 문자를 올바르게 인코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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