|
|
|
| Добрый день! Кто смог разобраться, подскажите не разобравшемуся :)
Сегодня утром почитал про JSON и решил применить у себя .
Но возникли проблемы:
1 Происходит выборка с БД
2 В ней названия городов на русском.
3 Вывожу запрос в свет $aut = $json-> encode($mycity);
4 Штампует следующее:
Notice: Uninitialized string offset: 8 in C:\Apache\localhost\www\json.php on line 309
{"myсity":[{"id":"1","name":"\u0000\u0000\u0000"},{"id":"3","name":"\u0000\u0000\u0000"},{"id":"4","name":"Makeevka"},{"id":"5","name":"\u0000\u0000"}]}
|
Т.е. проблема с кодировкой.
{"id":"4","name":"Makeevka"} - отразился нормально, т.к. на латинице, а вот все остальные города в таком виде "\u0000\u0000".
Да еще и плюс ошибка: Notice: Uninitialized string offset: 8 in C:\Apache\localhost\www\json.php on line 309
Переписал в БД все города латинскими - все работает и без ошибок.
А как быть с русскими? Шарил по форуму и в гугле, нормального пояснения так и не нашел.
P.S. Применил $aut=json_encode($mycity); вместо $aut = $json-> encode($mycity); перестало выдавать ошибку, а вместо "\u0000\u0000" теперь просто null | |
|
|
|
|
|
|
|
для: Nigma07
(01.03.2009 в 16:11)
| | Пошел нестандартным путем, выкладываю как, но вопрос остается в силе:
При применении $aut=json_encode($mycity), ответ был таков:
{"mycity":[{"id":"1","name":null},{"id":"3","name":null},{"id":"4","name":"Makeevka"},{"id":"5","name":null}]}
|
Удалил json_encode и написал аналог строки языком php:
$mycity="{\"mycytiy":[";
while ($row = mysql_fetch_assoc($result))
{
$mycity.="{\"id\":\"".$row['id_dop']."\",\"name\":\"".$row['gorod']."\"},";
}
$mycity=substr($mycyti,0,-1)."]}";
print ($mycity);
|
Теперь нормально работает, хоть может и неправильно так. | |
|
|
|