Error con acentos y eÑes en PHP/MySQL

Error con acentos y eÑes en PHP/MySQL

Cuando desarrollamos un sitio web con cualquier lenguaje de programación, nos encontramos con un problema recurrente al introducir y mostrar palabras, las cuales acaban apareciendo de formas similares a “áóñ”. En esta entrada exploraremos las diferentes soluciones, para resolver el problema de acentos y eñes en PHP/MySQL.

Primeramente, debemos conocer cuál es el origen del problema. Debemos saber que la configuración del cotejamiento de caracteres especiales como acentos y eñes, entre otros símbolos no es el mismo entre el gestor de base de datos MySQL y el lenguaje de programación (PHP) utilizado en el Servidor (Apache).

Solución al Problema

  • Configurar la base de datos: Al crear la base de datos MySQL, asegúrate que los campos string y demás esten en utf8_spanish_ci y el cotejamiento de las tablas en utf_unicode_ci (más tarde en Operations > Collation de phpMyAdmin se puede cambiar)
  • Modificar etiqueta <head>: Debemos agregar la propiedad charset=utf-8 en el atributo conent.
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  • Modificar los punteros PHP: Los punteros que muestran XML, llamadas de AJAX, APIs, etc.
header("Content-Type: text/html;charset=utf-8");
  • Cadena de conexión: Indicar en la cadena de conexión entre PHP con MySQL el tipo de chartset a recibir.
 mysql_query("SET NAMES 'utf8'");

En la versión 5 de PHP donde se usa MySQLi debe usarse:

$acentos = $db-&gt;query("SET NAMES 'utf8'"); 

Haciendo estos pasos se solucionará cualquier problema de codificación de caracteres. Si deseas más información, puedes revisar la entrada original, dando clic aquí.

Suscribir
Notificar a
guest
0 Comentarios
Comentarios en línea
Ver todos los comentarios