一聚教程网:一个值得你收藏的教程网站

热门教程

php高版本JSON_UNESCAPED_UNICODE解决json中文问题

时间:2022-06-24 19:48:51 编辑:袖梨 来源:一聚教程网

php使用json_encode中文会被编码,开发人员真的恼怒了,如果你用php 5.4版本可以避免这个问题:

//这样的不好之处是添加了传输数据的数量
echo json_encode('PHP点点通');  //"PHPu70b9u70b9u901a"
 
//如果你用PHP 5.4,那么恭喜你,json可以便面unicode编码
echo json_encode('PHP点点通', JSON_UNESCAPED_UNICODE);

更高级点的例子

if (version_compare(PHP_VERSION, '5.4.0', '<')) {
    $json = json_encode($data);
    $json = preg_replace_callback("#\u([0-9a-f]{4})#i", function ($matches) {
        return iconv('UCS-2BE', 'UTF-8', pack('H4', $matches[1]));
    }, $json);
    if ('' != $callback) {
        echo $callback . '(' . $json . ");n";
    } else {
        echo $json . "n";
    }
} else {
    $json = json_encode($data, JSON_UNESCAPED_UNICODE);
}

总得来讲例子一与例子二我们如果不确定自己的php版本可以使用例子二来进行判断php版本,根据不同版本给出不同的解决程序。

热门栏目