json_encode后存入数据库中发现json_decode是空改如何处理?

一、解决方案

   入库前存在汉字编码问题,有两种解决办法,自己根据实际项目需要进行选择

    1、json_encode的时候加入参数JSON_UNESCAPED_UNICODE,让汉字可以直接入库而不去unicode转码

     2、json_encode外包裹转义函数,让入库的json字符串不会存在编码问题

 

二、demo演示 

<?php

$a = '中文';

echo PHP_EOL;

echo(json_encode($a));echo PHP_EOL;

echo (json_encode($a, JSON_UNESCAPED_UNICODE));  echo PHP_EOL; //方案1,直接汉字入库

echo(addslashes(json_encode($a))); echo PHP_EOL; //方案2、json串编码转义后入库

echo(addslashes(json_encode($a, JSON_UNESCAPED_UNICODE))); echo PHP_EOL; //双管齐下


 

三、执行结果

"\u4e2d\u6587"

"中文"

\"\\u4e2d\\u6587\"


\"中文\"

作者 

自我介绍 :梦在张导,魔都楼主,码农程序猿

分享要求 : 以教为学,及时反馈,学以致用

通俗一点 :说人话,尽人事,要闭环!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值