侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

php解决json_encode中文UNICODE转码问题

2022-06-12 星期日 / 0 评论 / 0 点赞 / 124 阅读 / 1475 字

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”/u***”的格式,如果想汉字不进行转码,要先升级PHP,在PHP5.4,版本下,可使用Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”u***”的格式,如果想汉字不进行转码,要先升级PHP,在PHP版本>=5.4可使用Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

echo json_encode("中文", JSON_UNESCAPED_UNICODE);

如果你的PHP版本没有达到5.4版本,那么可以这样做。

1、先检查你的PHP版本,这个你得知道,代码如下:

 echo PHP_VERSION;
或者你懒或者不懂,直接使用下面的兼容函数做处理即可
function sJson_encode($array){    if(version_compare(PHP_VERSION,'5.4.0','<')){        $str = json_encode($array);        $str = preg_replace_callback("#u([0-9a-f]{4})#i",function($matchs){             return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));        },$str);        return $str;    }else{        return json_encode($array, JSON_UNESCAPED_UNICODE);    }}

使用方法

<?=sJson_encode('你的数组数据')?>

广告 广告

评论区