Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/10/2011, 03:06
Rikar2
 
Fecha de Ingreso: octubre-2010
Mensajes: 9
Antigüedad: 13 años, 6 meses
Puntos: 0
Caracteres ruso, se visualizan como unicode en formato JSON

Hola!

Estoy desarrollando un Servicio Web típico, en donde a éste se le pasan parametros por URL y generá un resultado en formato XML o JSON, según la necesidad del que lo consume. En la base de datos, tengo caracteres rusos, chinos, arabes, etc. Al mostrar los caracteres en ruso, en formato XML, se muestran bien y no tengo problemas con eso; sin embargo al mostrar estos en formato JSON, se muestran de la siguiente forma: "name":"\u0420\u045c\"

Yo sé que esto: \u0420 representa una letra en ruso, con los acentos y ñ sucede lo mismo.

En el encoding, uso utf-8 al igual que en las tablas de la base de datos, los archivos, el servidor web.

acá un extracto del código en PHP:

Código PHP:
while($row=mysqli_fetch_assoc[$result])) {
$pl[] =array('place'=>$row);
}

echo 
json_encode(array('places'=>$pl)); 
la salida es algo com esto

Código:
{"places":[{"place":{"id":"3166891","distance":"4","lat":"55.7558","lng":"37.6177","name":"\u0420\u045c\u0421\u0453\u0420\u00bb\u0420\u00b5\u0420\u0406\u0420\u0455\u0420\u2116 \u0420\u0454\u0420\u0451\u0420\u00bb\u0420\u0455\u0420\u0458\u0420\u00b5\u0421\u201a\u0421\u0402"}
Como se convertirá esos códigos?


Gracias.

Saludos