JSON 인코딩 및 특수 문자
json_encode() 함수를 사용하여 배열을 인코딩하는 동안 특수 문자가 포함된 요소가 다음으로 변환될 수 있습니다. 빈 문자열. 이 동작은 저작권 또는 상표 기호와 같은 문자에서 특히 두드러집니다.
이 문제를 해결하려면 모든 문자열 데이터를 JSON으로 인코딩하기 전에 UTF-8로 인코딩했는지 확인하세요. 이는 utf8_encode() 함수와 함께 array_map()을 사용하여 달성할 수 있습니다:
$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);
PHP 매뉴얼에 언급된 대로 json_encode()에서는 모든 문자열 데이터가 UTF-8로 인코딩되어야 합니다. JSON 인코딩 전에 배열 요소를 UTF-8로 인코딩함으로써 특수 문자가 JSON 출력에 올바르게 표시되는지 확인합니다.
명확성을 위해 UTF-8이 있는 경우와 없는 경우의 배열 인코딩 결과를 비교해 보겠습니다. 인코딩:
UTF-8 인코딩 없음:
$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}
UTF-8 인코딩 사용:
$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"}
UTF-8 인코딩을 적용하면 특수 문자가 JSON 출력에 올바르게 표시됩니다. 적절한 인코딩을 위해서는 utf8_encode()를 일관되게 사용하는 것을 잊지 마세요.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3