Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 编码SQL PDO SQL结果_Php_Json_Web Services_Utf 8 - Fatal编程技术网

Php 编码SQL PDO SQL结果

Php 编码SQL PDO SQL结果,php,json,web-services,utf-8,Php,Json,Web Services,Utf 8,我使用PHPWeb服务从一个表中的sql查询中获取结果,其中一个表有引号,当我使用下面的查询时,结果显示该表为null。现在我已经有了这个问题,我要做的就是用utf8\u encode对数组进行编码。然而,现在这似乎不起作用。现在如何对结果进行编码以在json结果中显示表 我的代码在下面 $id = 14; include("file.php"); $query = "SELECT * FROM table WHERE table_id='$id'"; $sth = $dbc->query

我使用PHPWeb服务从一个表中的sql查询中获取结果,其中一个表有引号,当我使用下面的查询时,结果显示该表为null。现在我已经有了这个问题,我要做的就是用
utf8\u 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=newpdo($dsn,$username,$password,数组(PDO::MYSQL_ATTR_INIT_COMMAND=>“SET NAMES utf8”)

您应该将此标记为答案。肯定会有人使用它。我删除了我的建议。直到明天我才能把它作为答案,但我会这么做的