En este post voy a mostrar cómo solucioné un error que me estaba fastidiando demasiado y que tenía tiempo que no me sucedía.
Resulta que al estar trayendo datos de una base de datos con MySQL y PHP se mostraban caracteres raros con signos de interrogación cuyo char code es 65535:
Como se puede apreciar en la imagen, no muestra letras con acento y al usar json_encode tampoco devuelve nada.
Cabe mencionar que en el head
de mi HTML todo estaba correcto con el meta:
<meta charset="UTF-8">
Y el charset de mi base de datos con mi tabla ya lo había cambiado desde utf8_spanish_ci
a otros. Ya estaba enloqueciendo hasta que dije:
¿Cómo es que en otros proyectos esto no me pasa?
Así que revisé mi plantilla en GitHub y afortunadamente ahí estaba la respuesta:
SET NAMES 'utf8';
No sé cómo funciona ni de qué se trata, pero antes de eso tenía mi PDO
así:
Después lo hice así:
¡Magia pura! ahora sí funcionaba:
Si ves el botón un poco raro es porque estoy depurando el objeto con json_encode
. El punto es que ahora sí funciona.
Por cierto, si quieres, puedes ver un tutorial de PHP con PDO y varios motores de búsqueda.
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…
Esta web usa cookies.
Ver comentarios
Genial, tremendo dolor de cabeza ya aliviado. Gracias
En todos mis proyectos tocaba pelearme con los dichosos carácteres, que si ISO, UTF, formato BBDD, ficheros .... todo aguantándose con pinzas. Migro mi proyecto más grande de servidor y otra vez con los problemas de carácteres ... hasta que llegué aquí :)
Gracias! Me salvaste, me estaba pasando exactamente eso. Magia pura!