bug61537.phpt 1004 B

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. Bug #61537 (json_encode() incorrectly truncates/discards information)
  3. --FILE--
  4. <?php
  5. $invalid_utf8 = "\x9f";
  6. var_dump(json_encode($invalid_utf8));
  7. var_dump(json_last_error(), json_last_error_msg());
  8. var_dump(json_encode($invalid_utf8, JSON_PARTIAL_OUTPUT_ON_ERROR));
  9. var_dump(json_last_error(), json_last_error_msg());
  10. echo "\n";
  11. $invalid_utf8 = "an invalid sequen\xce in the middle of a string";
  12. var_dump(json_encode($invalid_utf8));
  13. var_dump(json_last_error(), json_last_error_msg());
  14. var_dump(json_encode($invalid_utf8, JSON_PARTIAL_OUTPUT_ON_ERROR));
  15. var_dump(json_last_error(), json_last_error_msg());
  16. ?>
  17. --EXPECT--
  18. bool(false)
  19. int(5)
  20. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"
  21. string(4) "null"
  22. int(5)
  23. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"
  24. bool(false)
  25. int(5)
  26. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"
  27. string(4) "null"
  28. int(5)
  29. string(56) "Malformed UTF-8 characters, possibly incorrectly encoded"