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
    
    &lt;meta http-equiv="Content-type" content="text/html; charset=utf-8" /&gt;
  • 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 DefaultCharset del 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!

Tagged with:
 

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>