php json_encode 返回false 今天用ajax请求不到数据,发现问题出现在最后一句 echo json_encode($data); var_dump(json_encode($data));输出false 使用json_last_error_msg();查看返回false原因 Malformed UTF-8characters, possibly incorrectly encoded
通过json_last_error_msg查看报错原因 echo json_last_error_msg(); Inf and NaN cannot be JSON encoded 原因是$arr里面包含了NAN 和INF 这些导致的。 解决方案如下: json_encode(unserialize(str_replace(array(‘NAN;’,’INF;’),’0;’,serialize($arr)));发布...
functionjson_encode_safe($data){if(json_encode($data) ===false) {// 获取错误信息$error=json_last_error();// 根据错误代码获取错误描述$error_msg=json_last_error_msg($error);// 处理异常,例如记录日志或抛出自定义异常thrownewException("json_encode error:{$error_msg}"); }returnjson_encode(...
那么写log失败的原因就是json_encode数组时数组中数据的编码问题了 $str= '中国你好';$str= mb_convert_encoding($str, "UTF-16");//把字符串转为utf-16编码$arr= ['name'=>$str, 'age'=>18];var_dump(json_encode($arr));//执行结果: bool(false)var_dump(json_last_error());//打印上一次...
echo json_encode($data); var_dump(json_encode($data));输出false 使用json_last_error_msg();查看返回false原因 Malformed UTF-8characters, possibly incorrectly encoded 1. json_encode 所有字符串数据的编码必须是 UTF-8,不然返回false 查看了下原来我返回的数据中 ...
//方案1 :使用 JSON_THROW_ON_ERROR options 参数来将错误直接输出 json_encode(["success"=>true,"message"=>"订单完成"],JSON_UNESCAPED_UNICODE|`JSON_THROW_ON_ERROR`); // 方案2 :使用 json_last_error_msg() 打印 json 处理过程中的错误信息、代码。 var_dump(json_last_error_msg()); var_dum...
$json = json_encode($data); if ($json === false) { // 获取错误信息 $error_msg = json_last_error_msg(); echo "json_encode() error: $error_msg"; } else { echo $json; } 复制代码 通过以上方法,您应该能够找到并解决 PHP 的 json_encode 编码错误。如果问题仍然存在,请提供更多详细信息...
PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。语法string json_encode ( $value [, $options = 0 ] )参数value: 要编码的值。该函数只对 UTF-8 编码的数据有效。 options:由以下常量组成的二进制掩码 JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, ...
解决方法:1、设置json_encode()第二个参数的值为“JSON_UNESCAPED_UNICODE”即可;2、先把文本进行urlencode转码,再使用json_encode()编码,接着进行urldecode解码即可。 json_encode()用于对变量进行JSON编码;成功则返回 JSON 编码的字符串 ,在失败时返回 FALSE 。
· json_encode常常被用于将数组转换成json格式的字符串来表示,但是json_encode的第一个参数却并不一定是数组格式,第一个参数可以为对象,数组,字符串。 · object和array类型转换为json字符串之后没有差别,而string被json_encode之后,string中的【'】,【"】,【\】,【/】会被转义。