浏览器没收到返回,后端也没报错,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;
}
相关推荐
xiaoxiangsiyan32 分钟前
网络智能化转型核心模块全解析
运维·服务器·网络·数据库·学习·架构·php
huaweichenai1 小时前
PHP实现对接MQTT协议
开发语言·php
泷泷_2 小时前
CISP-PTE实操题(自写靶场与题类似或变型)
php·文件上传·cisp-pte·cisp·文件包含·sql注入
XR1234567882 小时前
连锁多分支办公网络怎么选?统一运维与快速开局是关键
运维·网络·php
T01156182 小时前
全栈项目实战手记|艺培场馆课时预约小程序底层安全、交互、分包全量迭代复盘
安全·小程序·bug·前端实战·全栈项目实战手记·小程序实战
光泽雨3 小时前
JSON /XML转换
xml·json
晴天164 小时前
VS Code `launch.json` 指南(Node.js版)-Day30
node.js·json
xxy222414 小时前
TCP 网络编程(3):从基础通信到并发服务器与 HTTP 实战
开发语言·php
MartinYeung519 小时前
[论文学习]小型代码语言模型中的潜伏代理行为研究
学习·语言模型·php
P1Browser20 小时前
指纹浏览器安全吗?从浏览器环境隔离、数据存储到安全风险解析
网络·tcp/ip·安全·网络安全·github·php