浏览器没收到返回,后端也没报错,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;
}
相关推荐
亿坊电商5 小时前
物联网领域中PHP框架的最佳选择有哪些?
物联网·struts·php
wuzuyu3655 小时前
用php做一个简易的路由
php·路由
Martin-Luo12 小时前
Vue3 通过json配置生成查询表单
javascript·vue.js·json
星尘库13 小时前
后端json数据反序列化枚举类型不匹配的错误
json
BXCQ_xuan13 小时前
软件工程实践四:MyBatis-Plus 教程(连接、分页、查询)
spring boot·mysql·json·mybatis
王维志14 小时前
LiteDB详解
数据库·后端·mongodb·sqlite·c#·json·database
老六ip加速器16 小时前
手机ip隔离方法
tcp/ip·智能手机·php
rockmelodies19 小时前
【PHP7内核剖析】-1.3 FPM
php
真正的醒悟1 天前
上网管理行为-ISP路由部署
服务器·php·接口隔离原则
张晓~183399481211 天前
短视频矩阵源码-视频剪辑+AI智能体开发接入技术分享
c语言·c++·人工智能·矩阵·c#·php·音视频