Asunto: Error eñes tildes acentos en JSON PHP y MySQL en Android
Hola, estoy desarrollando una aplicación en Android con Android Studio, necesito acceder a una base de datos MySQL desde la App Android y uso JSON y PHP. La aplicación accede bien a MySQL desde Android con JSON pero los campos con tildes o acentos o eñes me los muestra como "null" y no me muestra su valor ¿cómo puedo arreglar esto?
Publicado:
Lun Jun 09, 2014 11:06 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Error eñes tildes acentos en JSON PHP y MySQL en Android
Anuncios
varios escribió:
Hola, estoy desarrollando una aplicación en Android con Android Studio, necesito acceder a una base de datos MySQL desde la App Android y uso JSON y PHP. La aplicación accede bien a MySQL desde Android con JSON pero los campos con tildes o acentos o eñes me los muestra como "null" y no me muestra su valor ¿cómo puedo arreglar esto?
Para solucionar el problema de las eñes y tildes (acentos) en JSON y MySQL, en principio, en la App Android no tienes que cambiar nada, en la parte PHP, que es la que accede a MySQL, sí tienes que añadir "utf8_encode". Te mostramos un ejemplo de acceso a MySQL con JSON desde PHP codificando en UTF8 para que no devuelva null con las tildes, eñes y demás:
Código:
<?php
//datos de conexión a servidor MySQL y base de datos
$servidor = "proyectoa.com:3333"; //reemplazar por la URL del servidor de base de datos MySQL
$usuarioBD = "facturacion"; //reemplazar por el usuario de la base de datos
$contrasenaBD = "facturacion"; //reemplazar por la contraseña del usuario de la base de datos
$baseDatos = "facturacion"; //reemplazar por la base de datos (catálogo)
//conectamos con el servidor MySQL y usamos catálogo (base de datos)
$con = mysql_connect("$servidor", "$usuarioBD", "$contrasenaBD")
or die ("Error al conectar a MySQL");
mysql_select_db("$baseDatos")
or die ("Error al seleccionar base de datos MySQL");
//consulta SQL para mostrar facturas
$sql = "select * from facturas";
//guardamos todos los registros de la tabla facturas en un array
//codificamos en UTF8 para que no devuelva null con tildes, acentos, eñes
$result = mysql_query($sql);
$json = array();
if(mysql_num_rows($result))
{
while($row = mysql_fetch_assoc($result))
{
$json['facturas'][] = array_map('utf8_encode', $row);
}
}
//cerramos conexión con el servidor MySQL
mysql_close($con);
//Mostramos resultado ejecución consulta JSON SQL en HTML
echo json_encode($json);
?>
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A