json_encode()
이 유효하지 않은 (UTF-8이 아닌) 문자를 포함하는 문자열에 대해 null
을 반환하지 않게 할 방법이 있습니까?json_encode()가 잘못된 문자로 문자열을 삭제하는 것을 방지하는 방법
복잡한 시스템에서 디버깅하는 것이 엉망이 될 수 있습니다. 유효하지 않은 문자를 실제로 보거나 적어도 생략 한 것은 훨씬 더 적합 할 것입니다. 문자 그대로 json_encode()
은 전체 문자열을 자동으로 삭제합니다.
예 (에서 UTF-8) :
[null,"Washington","Nairobi"]
원하는 결과에
$string =
array(utf8_decode("Düsseldorf"), // Deliberately produce broken string
"Washington",
"Nairobi");
print_r(json_encode($string));
결과 :
["D�sseldorf","Washington","Nairobi"]
주 : 나는하지만들기 위해 찾고 있어요 깨진 문자열은 json_encode()에서 작동합니다. 나는 인코딩 오류를 쉽게 진단 할 수있는 방법을 찾고있다. A null
문자열은 유용하지 않습니다.
''Düsseldorf ''문자열은'utf8_decode()'할 때만 유효하지 않습니까? –
@Matt no는 응답자가 테스트 할 깨진 문자열을 만드는 예제 일뿐입니다. –
그래서 잘못된 UTF-8 문자열을 포함 할 수있는 JSON 데이터가 있습니까? – Gumbo