json_encode()表示特殊字符,返回null

时间:2017-09-13 13:04:14

标签: php arrays json encoding

我有一个数组,有许多来自俄语等语言的人物。当我尝试将json_encode用于该数组时,它返回null。

但是,我有一个解决方法,就是使用:

array_map("utf8_encode", $arr );

在数组上,然后是新数组的json_encode。它有效,但它给了我一些像这样的疯狂角色:

поÑÑеа ÑигниÑеÑÑмÑÑе но веÐ
而不是俄语字母。我不知道如何修复它并使其工作并返回真正的俄语字母作为输出。我已尝试在主阵列上使用带有JSON_UNESCAPED_UNICODE的json_encode作为第二个参数,但它不起作用。我甚至使用以下方式设置数据库的编码:

mysqli_set_charset($db,"utf8");

但即便如此也无法解决问题。我完全没有想法,我不知道该怎么做。

背景故事是我将数组的数据输入到html(php到json而不是javascript到html),但如果我不使用array_map,则返回null。如果我使用它,我的html中都有疯狂的角色。

如果有人有任何想法,请与我分享,我不知道该怎么做。

编辑:我已经解决了我的问题。但是,我根本没有使用JSON。我只是用特殊的分割代码将数据打包到字符串中。在客户端,我使用string.split("拆分代码")来获取字符串的部分。它适用于任何编码。

0 个答案:

没有答案