2

我在我的 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"的不是正确的名字,它必须是 Wittener Straß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);
?>

怎么了?

4

3 回答 3

10

怎么了?

没有什么。\uxxxx是 JSON 编码 UTF-8 字符的方式。

当您使用正确的 JSON 解码方法解码 JSON 时,它看起来会再次正常。

于 2012-11-06T13:06:44.117 回答
1

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

查一下:\u00df

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

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

于 2012-11-06T13:08:38.910 回答
-1

将 json 数据保存到 mysql 时使用 addlashes。当你把数据拿出来时,就可以了。

于 2014-07-04T09:32:42.013 回答