编码SQL PDO SQL结果


Encoding SQL PDO SQL results

我使用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) . ")";

修复了这个问题,似乎我不得不将PDO本身设置为utf8。下面的代码可以运行

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