浏览器没收到返回,后端也没报错,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;
}
相关推荐
郭萌6962 小时前
多商户平台的优惠券,真正的设计对象是「适用范围」而不是券模板
php
额额额对了3 小时前
嵌入式 Linux 启动程序文件
开发语言·嵌入式硬件·php
v:ychya20184 小时前
独立站外贸建站公司怎么选?建站就要建营销型网站
前端·php
梅菲塔亚4 小时前
华为云从入门到实战
开发语言·华为云·php
要吃这碗饭5 小时前
AI 智能体如何通过 auth.md 注册 Bright Data 账号
数据库·人工智能·php
霸道流氓气质5 小时前
幂等性与 Upsert:防止重复操作产生副作用的技术
开发语言·php
qq_543447826 小时前
DNS解析怎么排查?故障处理与运维实用手册
运维·服务器·网络·php
ZHOUPUYU6 小时前
PHP 9.0 前瞻:下一代 PHP 会带来哪些新功能?
android·开发语言·php
ZHOUPUYU7 小时前
PHP 8.2 的核心高级特性,包括只读类、类型系统增强
android·性能优化·php
ZHOUPUYU7 小时前
PHP 8.0 高级技术实战:从新特性到性能优化
android·性能优化·php