繁体   English   中英

PHP json_encode() 制作数据 null

[英]PHP json_encode() making data null

我在这里有这段代码:

case 'resource_list':
        if(file_exists('content.php')){
            include('../ajax/content.php');
        } else {
            die('does not exist');
        }
        $html = render_content_page($array[1],$array[2]);
        $slate = 'info_slate';
        $reply_array = array(
            'html' => $html,
            'slate' => $slate
        );
        echo json_encode($reply_array);
    break;

在调用json_encode()之前,我已经调试了每个级别。 但是我在 ajax 中收到的数据对于 html 密钥是空的。 这段代码本质上是另一种情况的复制和粘贴,它只是调用了一个 function 而不是render_content_page() ,但效果很好。

$reply_array var_exports 到:

array (
  'html' => '<ol>
    <li unit="quiz" identifier=""><img src="img/header/notifications.png"/>Fran�ois Vase Volute Krater</li>
    </ol>',
  'slate' => 'info_slate',
)

我最初的想法是Fran�ois Vase Volute Krater中的特殊字符,因为 json_encode 仅适用于 UTF-8 编码数据。

在 JSON 编码之前尝试 UTF-8 编码它,如下所示:

json_encode(utf8_encode("Fran�ois Vase Volute Krater"));

也许问题出在编码上? 如手册所述, json_encode()仅适用于 utf8 编码数据:

此 function 仅适用于 UTF-8 编码数据。

http://php.net/json_encode

文档所述, json_encode期望其输入文本为 UTF-8。 最有可能的是,您的输入( ç )不在 UTF-8 中。

使用utf8_encode (如果您当前使用 ISO-8859-1)或mb_convert_encoding (否则)将输入字符串转换为 UTF-8。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM