有没有办法阻止json_encode()返回null包含无效(非UTF-8)字符的字符串?
在复杂的系统中调试可能会很麻烦.实际看到无效字符会更合适,或者至少省略它.就目前而言,json_encode()将默默地删除整个字符串.
示例(以UTF-8格式):
$string =
array(utf8_decode("Düsseldorf"), // Deliberately produce broken string
"Washington",
"Nairobi");
print_r(json_encode($string));
Run Code Online (Sandbox Code Playgroud)
结果是
[null,"Washington","Nairobi"]
Run Code Online (Sandbox Code Playgroud)
期望的结果:
["D?sseldorf","Washington","Nairobi"]
Run Code Online (Sandbox Code Playgroud)
注意:我不打算在json_encode()中使断字符串工作.我正在寻找方法,以便更容易诊断编码错误.一个null字符串是不是该有所帮助.