[英]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 编码数据。
如文档所述, json_encode
期望其输入文本为 UTF-8。 最有可能的是,您的输入( ç
)不在 UTF-8 中。
使用utf8_encode
(如果您当前使用 ISO-8859-1)或mb_convert_encoding
(否则)将输入字符串转换为 UTF-8。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.