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 중국어 웹사이트의 기타 관련 기사를 참조하세요!