2

正常に動作するデータをmysqlDBに配置しました。しかし、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);
?>

なにが問題ですか?

4

3 に答える 3

10

なにが問題ですか?

何もない。\uxxxxJSONの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に保存するときは、addslashesを使用します。そして、データを取り出すときは大丈夫です。

于 2014-07-04T09:32:42.013 に答える