entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Problemas JSON y utf-8 al insertar datos en BD desde php

Buenas, estoy teniendo un problema con la codificación de caracteres en un archivo PHP.

Resulta que al hacer lo siguiente: $json = json_encode($cadenaProductos); y ver lo que devuelve en el navegador, resulta que me pone los acentos de la siguiente forma: por ejemplo la palabra pequeña así: Peque\u00c3\u00b1a

Entonces cuando lo inserto en la Base de Datos se sigue viendo mal la palabra.

Al principio del archivo PHP tengo lo siguiente: header("Content-Type:text/html; charset=utf-8");
Después de cada consulta a la BD esto: mysql_query("SET CHARACTER SET utf8");

Pero nada sigue sin mostrarme correctamente los datos.

Resulta que en lugar de hacer json_encode($cadena) me muestra mal los datos, pero si imprimo un dato normal si lo hace correctamente.

¿Que puede haber mal?

2 Respuestas

2votos

white Puntos75880

recuerda que la codificación es utf-8 y no utf8, intenta cambiar esto:

mysql_query("SET CHARACTER SET utf8");

por esto:

mysql_query("SET CHARACTER SET utf-8");

si la salida es json entonces define la cabecera como tal:

header('Content-type: application/json; charset=utf-8 ');

como consejo evita usar mysql ya que estas funciones estan deprecadas hace ya un tiempo, en su lugar usa mysqli/pdo.

0voto

danielreales7 comentado

Cierto estaba teniendo algo mal ahí, muchas gracias por la ayuda!

2votos

Yuki Puntos610

No se programar en PHP, pero me parece que deberias establecer "JSON UNESCAPED UNICODE" (sin espacios) como segundo parametro.

Vease: http://php.net/manual/es/function.json-encode.php

0voto

danielreales7 comentado

Lo estuve probando y nada, no me funcionaba.
Gracias por el aporte.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta