小编Tre*_*vor的帖子

PHP 中的 json_encode() 以转义的 Unicode 返回中文字符

我有一个简单的 PHP 一维数组。

当我执行 var dump ( echo var_dump($a)) 时,我将其作为输出:

array(3) { [0]=>  string(3) "?" [1]=>  string(21) "exhausted||to exhaust" [2]=>  string(4) "jin3" }
Run Code Online (Sandbox Code Playgroud)

但是,当我对它进行 json_encode ( echo json_encode($a)) 时,我得到了这个:

["\u5c3d","exhausted||to exhaust","jin3"]
Run Code Online (Sandbox Code Playgroud)

它返回的十六进制值是正确的,但我不知道如何阻止它给我十六进制。我只是想让它显示字符。

如果我echo mb_internal_encoding()返回 UTF-8,这就是我设置的。我在所有字符串操作中都非常小心地使用 mb_ 函数,因此没有任何数据被弄乱。

我知道我可以编写一个修改过的 json_encode 函数来解决这个问题。但我想知道这里发生了什么。

php json

4
推荐指数
3
解决办法
1万
查看次数

标签 统计

json ×1

php ×1