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í:
<?php
$bd = new PDO('mysql:host=localhost;dbname=' . $nombre_base_de_datos, $usuario, $contraseña);
return $bd;
Después lo hice así:
<?php
$bd = new PDO('mysql:host=localhost;dbname=' . $nombre_base_de_datos, $usuario, $contraseña);
$bd->query("SET NAMES 'utf8'");
return $bd;
¡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.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
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!