繁体   English   中英

PHP Json 编码 PDO::FETCH_ASSOC

[英]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.

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