浏览器没收到返回,后端也没报错,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;
}
相关推荐
jwn9995 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
星辰徐哥6 小时前
5G的行业应用:工业互联网、车联网、智慧医疗中的网络支撑
网络·5g·php
三道渊7 小时前
进程通信与网络协议
开发语言·数据库·php
流觞 无依7 小时前
DedeCMS plus/download.php SQL注入漏洞修复教程
sql·php
Freak嵌入式7 小时前
MicroPython LVGL基础知识和概念:显示与多屏管理
开发语言·python·github·php·gui·lvgl·micropython
Freak嵌入式8 小时前
MicroPython LVGL基础知识和概念:时序与动态效果
开发语言·python·github·php·gui·lvgl·micropython
Cc_Debugger9 小时前
【饿了么plus-table】开启多选时,点击下面的单选按钮,页面显示是全选的样子,bug
bug
龙卷风卷云10 小时前
【BUG】Nginx使用upstream后端接口报 400
运维·nginx·bug
fengci.11 小时前
php反序列化(复习)(第三章)
android·开发语言·学习·php
说实话起个名字真难啊11 小时前
Docker 入门之网络基础
网络·docker·php