php-header

Problemas de codificación con MySQL y PHP

No había tenido un problema asi nunca, pero en uno de los últimos proyectos se dio.

Al recuperar unos registros de la base de datos ya me estaban llegando mal codificados. Así como áóñ.

Buscando y buscando por todos lados encontré una serie de soluciones, y la combinación resultante para solucionar este problemita fue:

  • Cambiar la codificación del documento PHP a UTF-8
  • En Mysql revisar que las tablas tengan la codificación utf8_spanish_ci
  • Antes de <head></head> poner <meta http-equiv=”Content-type” content=”text/html; charset=utf-8″ />
  • Todo lo anterior es preventivo. Pero lo que realmente me dio el resultado correcto en las consultas fue poner lo siguiente entes de lanzar la consulta (en la linea que esta justo encima del mysql_db_query()):
    mysql_query(“SET NAMES ‘utf8′”);

Y listo, ya me salían bien los caratéres especiales.