浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题,后端返回异常,但是浏览器状态码200,但是看不到结果。经过排查发现,我们在返回结果的时候使用了json_encode返回给前端,结果里面的字符编码异常,导致json_encode异常,但是php没有报错,也没有错误日志,经过一步步调试,最终找到这个问题,特此记录。


修复代码如下:

php 复制代码
<?php
$v = 'PHNjcmlwdCBsYW5nPY2r2rHK4nJpcHRcPg==';
$slices = explode(',', $v);

$matchdata = array_map('base64_decode', $slices);
$json_encode = json_encode(mb_convert_encoding($matchdata, 'UTF-8'));
if ($json_encode === false) {
    echo "JSON encoding failed. Error: " . json_last_error_msg();
} else {
    echo $json_encode;
}
相关推荐
狗凯之家源码网23 分钟前
全开源 H5 棋牌对战系统修复优化与二次开发实测
开源·php·棋牌对战
Token掘金室3 小时前
JSON模式结构化输出报错
java·服务器·json
她说..3 小时前
MySQL JSON 处理学习文档
学习·mysql·json
PHP实战开发录5 小时前
PHP接口超时后为什么任务还在跑
开发语言·前端·php·开发
数据狐(Datafox)6 小时前
京东商品详情API接口解析(附 JSON 样例)
java·开发语言·json
ECT-OS-JiuHuaShan6 小时前
哲学是迭代学,数学是拓扑学
开发语言·人工智能·学习·算法·机器学习·php·拓扑学
北京盛世宏博21 小时前
物联网传感器通信协议:帧字段规划、CRC 校验、异常包过滤方案
网络·物联网·php
三8441 天前
PHP Session 反序列化:防御加固、审计套路与总结
web安全·php·安全加固·session反序列化
中科三方1 天前
DNS拨测到底在拨测什么?
开发语言·github·php·dns·云拨测