Я посылаю JSON
сообщений с помощью этого PHP
:PHP JSON с UTF8 символами
$result = mysql_query("select a.id, ad.nombre, a.imagen, a.lat, a.long, ad.desc, a.url, a.email, a.tel, a.direccion, a.cp, a.poblacion, a.provincia from `bck_alrededor` a, `bck_alrededor_description` ad, `bck_alrededor_partner` ap
where a.id = ad.id_alrededor
and a.id = ap.id_alrededor
and a.id_cat = '$cat'
and ad.language = '$idioma'
and ap.id_partner = '$idp'",$link);
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$nombre = $row['nombre'];
$imagen=$row['imagen'];
$lat=$row['lat'];
$long=$row['long'];
$desc=$row['desc'];
$url=$row['url'];
$email=$row['email'];
$tel=$row['tel'];
$direccion=$row['direccion'];
$cp=$row['cp'];
$poblacion=$row['poblacion'];
$provincia=$row['provincia'];
if ($imagen <>'')
{
$imagen = $dir.'/'.$imagen;
}
$posts[] = array('nid'=> $id , 'title'=> $nombre, 'image'=> $imagen , 'latitude'=> $lat, 'longitude'=> $long, 'html'=> $desc, 'web'=> $url, 'email'=> $email, 'phone'=> $tel, 'address'=> $direccion, 'cp'=> $cp, 'poblacion'=> $poblacion, 'provincia'=> $provincia);
}
$response['nodes'] = $posts;
$current_charset = 'ISO-8859-15';
array_walk_recursive($response,function(&$value) use ($current_charset){
$value = iconv('UTF-8//TRANSLIT',$current_charset,$value);
});
echo json_encode($response);
if(!headers_sent()) header('Content-Type: application/json; charset=utf-8', true,200);
header('Content-type: application/json');
Но я получил это сообщение JSON с UTF8 экранированных символами:
{"nodes":[{"nid":"87","title":"Tienda Oficial","image":"\/tiendaoficialgbc.png","latitude":"43.3021","longitude":"-1.9721","html":"Entra y adquiere todos los productos oficiales del GBC. En 48h los tienes en casa","web":"http:\/\/www.gipuzkoabasket.com\/tienda\/tienda_es.php","email":"[email protected]","phone":"943 44 44 28","address":"Paseo de Anoeta 22, 1a Planta","cp":"20014","poblacion":"Donostia - San Sebasti\u00e1n","provincia":"Gipuzkoa"},{"nid":"88","title":"Tienda Oficial Salaberria","image":"\/tiendaoficialgbc.png","latitude":"43.30384","longitude":"-1.9797","html":"Entra y adquiere todos los productos oficiales del GBC. En 48h los tienes en casa","web":"http:\/\/www.gipuzkoabasket.com\/tienda\/tienda_es.php","email":"[email protected]","phone":"943 44 44 28","address":"Jos\u00e9 Maria Salaberria 88","cp":"20014","poblacion":"Donostia - San Sebasti\u00e1n","provincia":""}]}
Я пробовал использовать echo json_encode (utf8_encode ($ response)); но затем я получил сообщение NON JSON в клиентском приложении.
Как я могу получить сообщение JSON
без UTF8
символов?
Благодаря
Спасибо за ваши указания. Это очень странно, но мой клиентский JSON-парсер дает недопустимое сообщение json, и я не могу получить доступ к адресу. – theomen