浏览器没收到返回,后端也没报错,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;
}
相关推荐
郑州光合科技余经理10 分钟前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082852 小时前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe2 小时前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
longxiangam6 小时前
Composer 私有仓库搭建
php·composer
ALGO阿狗7 小时前
SimpleDateFormat(“YYYY-MM-dd“)格式化时间出现了bug?
bug
上海云盾-高防顾问8 小时前
DNS异常怎么办?快速排查+解决指南
开发语言·php
ShoreKiten10 小时前
关于解决本地部署sqli-labs无法安装低版本php环境问题
开发语言·php
liliangcsdn10 小时前
深入探索TD3算法的推理过程
开发语言·php
troublea10 小时前
ThinkPHP vs Laravel:PHP框架终极对决
开发语言·php·laravel
苏天夏10 小时前
Passport 插件:Typecho 密码安全的技术守护者
安全·网络安全·php