我正在使用一个 api,它只是从我的数据库中读取并以 json 格式返回数据。
在 phpMyAdmin 中,句子是完美的(我使用 utf8_general 输入 csv)。例子:
A line that uses 'r and special chars etc
但是当我回显 json 时,我得到了这个:
A line that uses ///\\/\/\/r and special chars etc
首先我得到了空对象,所以我使用了:
mysql_set_charset('utf8', $link);
但我仍然得到损坏的数据。
更新:
更多信息:
mysql_set_charset('utf8',$link);
/* grab the posts from the db */
$query = "SELECT * FROM huren WHERE 1";
$result = mysql_query($query,$link) or die('Errant query: '.$query);
// check row count
$amount = mysql_num_rows($result);
/* create one master array of the records */
$houses = array();
if(mysql_num_rows($result)) {
while($post = mysql_fetch_assoc($result)) {
$houses[] = $post;
}
}
/* output in necessary format */
header('Content-type: application/json');
$changed_json= str_replace('\\/', '/',json_encode(array('House'=>$houses)));
echo str_replace('\\\\', '\\',$changed_json);