我通过php生成json,当我在json中获取数据时,我以一种奇怪的方式得到它,有时带有2个问号,例如:
{"markers":[
{"latitude":"48.6916858",
"longitude":"13.9314643",
"content":"Ort Kn\u00f6belsteiner??<\/b>28.12.2014. - 12:00"}}]}
以下是生成json的代码:
while ($row = mysqli_fetch_array($fetch, MYSQLI_ASSOC)) {
$row_array['latitude'] = $row['latitude'];
$row_array['longitude'] = $row['longitude'];
$row_array['content'] = utf8_encode($row['grcnt']);
array_push($return_arr,$row_array);
}
echo '{"markers":'.json_encode($return_arr).'}';
我不知道为什么我会这样做?迹象。我试着谷歌但没有答案。我使用json与sql查询结合html标签,因为我需要在地图上的标记(点)上显示此信息。查询后的Sql结果显示正常,没有此问号。任何帮助将不胜感激,因为我不确定为什么会这样,在这种情况下它会发生。谢谢
答案 0 :(得分:1)
解决了! :)
问题出在utf8_encode()行,我删除它并在连接到db之后创建了一个新查询,写道:
mysqli_query ( $link ,"SET NAMES 'utf8'" );
答案 1 :(得分:0)
你使用json_encode? Php和javascript有不同的方式来查看对象。查看json_encode的第二个参数