微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php json_encode显示null而不是文字

如何解决php json_encode显示null而不是文字

json_encode 期望将数据中的字符串编码为UTF-8。

如果尚未将它们转换为UTF-8:

$results = array_map(function($r) {
  $r['text'] = utf8_encode($r['text']);
  return $r;
}, $results);
echo json_encode($results);

解决方法

我正在从数据库中读取希伯来语中的一些文本,并正在尝试这样json_encode做。如果print_r我得到的结果是:

Array
(
    [0] => Array
        (
            [value] => 88
            [text] => כיתה א'
            [parent_id] => 1
            [level] => 1
        )

    [1] => Array
        (
            [value] => 89
            [text] => כיתה ב'
            [parent_id] => 1
            [level] => 1
        )

    [2] => Array
        (
            [value] => 91
            [text] => כיתה ג'
            [parent_id] => 1
            [level] => 1
        )

)

而json_encode显示:

[{"value":"88","text":null,"parent_id":"1","level":"1"},{"value":"89",{"value":"91","level":"1"}]

我相信这是因为我在数据库中的文本包含一个(’)标记。尝试了各种反斜杠或real_escape_string组合,都无济于事。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。