Anteriormente había posteado como solucionar problemas de CodeIgniter con acentos y caracteres especiales (UTF-8), ahora en otro desarrollo me encontre con otro problema de este tipo.
Muchas veces al crear una web con PHP y MySQL, ocurre un problema al introducir y mostrar datos: estos se alteran acabando en áóñ y cosas parecidas.
Solucionar el problema de los acentos y eñes
- Cambiar el cotejamiento de las tablas a
utf_unicode_ci(en Operations > Collation de phpMyAdmin se puede cambiar) - Pon en el
<head>de todos los archivos HTML:1
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> - Y en los puramente PHP (que muestran XML, llamadas de AJAX, APIs…) pon el código:
1
header("Content-Type: text/html;charset=utf-8"); - Al crear la conexión de PHP con MySQL, envía esta consulta justo tras la conexión:
1
mysql_query("SET NAMES 'utf8'"); - Quita el
DefaultCharsetdel Apache o modifícalo
Yo solamente con cambiar el cotejamiento de las tablas y setear la conexión en UTF-8 pude solucionar el problema, espero que les sirva!


