[英]PHP Json Encode PDO::FETCH_ASSOC
我试图返回我的 MSSQL 数据库表的所有行并将它们吐出在 JSON_ENCODE 中。
当我使用它并回显 $json 时,我得到一个空白页面。 当我对该 var 执行 var_dump 时,我得到一个 bool,false。
$sth = $db->prepare("SELECT * FROM dbo.Devices");
$sth->execute();
$array = $sth->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode($array);
但是,如果我将相同的 fetchAll 放入结果变量并打印它,它工作正常!
Working using print function.
$result = $sth->FetchAll();
print_r($result);
我读过其他人有类似的问题,这是一个 UTF8 编码问题,所以我尝试在 json_encode 之前在 $array 上执行 utf8_encode 但结果是空白页。 谁能解释一下?
json_encode
字符编码敏感。 如果它无法处理编码,它将失败。 print_r
不是。 无论你给它什么,它都会很高兴地打印出来。
utf8_encode
修复仅在源数据中的字符串编码为 ISO-8859-1 时才有效。 假设这是真的,它应该可以工作。 确保你这样做...... https://stackoverflow.com/a/2790107/111755
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.