相关疑难解决方法(0)

如何防止json_encode()丢弃带有无效字符的字符串

有没有办法阻止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字符串是不是该有所帮助.

php json utf-8

35
推荐指数
3
解决办法
3万
查看次数

标签 统计

json ×1

php ×1

utf-8 ×1