0

我正在使用 PHP Web 服务从一个带有引号的表中的 sql 查询中获取结果,当我使用它下面的查询时,结果显示该表为空。现在我已经遇到了这个问题,我要做的就是对数组进行编码,然后使用utf8_encode. 但是,现在这似乎不起作用。我现在如何编码我的结果以在我的 json 结果中显示表格。

我的代码如下

$id = 14;
include("file.php");
$query = "SELECT * FROM table WHERE table_id='$id'";
$sth = $dbc->query($query);
$result = $sth->fetchAll();
$result = utf8_encode($result);
/* output in necessary format */

header('Content-type: application/json; charset=utf-8');
echo $_GET['onJSONPLoad'];
echo "(" . json_encode($result) . ")";
4

1 回答 1

1

修复了我似乎必须将 PDO 本身设置为 utf8 的问题。下面的代码有效

$dbc = new PDO($dsn, $username, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

于 2013-06-11T09:50:18.640 回答