json_encode utf8

时间:2012-11-06 13:04:36

标签: php utf-8 json

我把一些数据放在我的mysql数据库中,运行正常。 但是当我用json_encode获取数据时,我得到了这样的回复:

{"idpostdata":"49","artID":null,"timestamp":"06.11.2012 13:35","lat":"51.496911","lon":"7.4022327","cellID":null,"road":"Wittener Stra\u00dfe","suburb":"Eichlinghofen","city":"Dortmund","postdatacol":null,"state_district":"Regierungsbezirk Arnsberg","state":"North Rhine-Westphalia","country_code":"de"}

你看到"road":"Wittener Stra\u00dfe"不是正确的名字,它必须是WittenerStraße

我的代码:

<?php
$sql = mysql_query("SELECT * FROM postdata");

while ($ds = mysql_fetch_assoc($sql)) 
  $output[]=$ds;
echo "{uTraf:";
  print(json_encode($output));
echo  "}";
mysql_close($dz);
?>

有什么问题?

3 个答案:

答案 0 :(得分:10)

  

有什么问题?

无。 \uxxxx是JSON编码UTF-8字符的方式。

使用适当的JSON解码方法解码JSON时,它会再次显示。

答案 1 :(得分:1)

没有错,它是json_encoding的一部分,以防止错误的字符转换:

查一查:\ u00df

http://www.utf8-chartable.de/

当你json_decode($string);它应该再次修复时

答案 2 :(得分:-1)

将json数据保存到mysql时使用addslashes。当你获得数据时,就可以了。