Configurar codificación UTF-8 en apache+mysql+php

categoría: Desarrollo web | tags: , , , , , , , | 12 comentarios »

A la hora de empezar un proyecto web, una de las primeras cosas a tener en cuenta debería ser la elección de la codificación de los documentos y datos. Hoy en día el estándar podría decirse que es UTF-8, la manera actuar para configurar correctamente nuestra codificación UTF-8 en nuestros proyectos php+mysql podría ser la siguiente:

1. Configuración de UTF-8 en apache

En caso de no contar con acceso a la configuración de apache, lo cual es común si usamos hosting de terceros, la codificación la definiremos en el archivo .htaccess del directorio raiz de nuestra web. Añadimos la siguiente línea en el archivo .htaccess:

AddDefaultCharset utf-8

2. Configuración de UTF-8 en mysql

En phpmyadmin deberemos configurar nuestras tablas con cotejamiento utf8_spanish_ci.

3. Configuración de UTF-8 en consultas a mysql desde php

Después de hacer el “mysql_select_db” añadir la siguiente función:

mysql_query("SET NAMES 'utf8'");

4. Configuración de UTF-8 en html

En el head añadimos lo siguiente:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

5. Configuración de UTF-8 en nuestro editor de texto

Por último y no por ello menos importante, debemos configurar adecuadamente el editor que usemos para escribir nuestro código.


12 comentarios on “Configurar codificación UTF-8 en apache+mysql+php”

  1. 1 lennon said at 17:13 on julio 18th, 2009:

    Damn!!!… it doesn’t work

  2. 2 LnddMiles said at 7:33 on julio 26th, 2009:

    The best information i have found exactly here. Keep going Thank you

  3. 3 Bettles said at 23:01 on octubre 7th, 2010:

    Genial el tip del .htaccess =) eso resuelve el problema! Gracias!!

  4. 4 Eduardo said at 15:48 on diciembre 20th, 2010:

    Hola, era parte de lo que estaba buscando. Tienes algun post de como configurar mysql, charset, conection, collation, etc todo a utf-8?

  5. 5 Rodrigo Rega said at 17:28 on enero 19th, 2011:

    Lo siento Eduardo, no tengo más posts sobre estos temas de charset.

  6. 6 Pablo said at 14:46 on junio 13th, 2011:

    Estimado rodrigo, muchas gracias por esta información, a mi me resultó, yo diseño en IIS pero tengo el hosting en Apache, tengo un dato para agregar, cuando cargo un dato en MySQL con el cotejamiento que vos pones aca, al momento del select a la varible le agrego utf8_decode($variable), porque sino no se ve el dato.

    Saludos

  7. 7 Diego said at 17:44 on noviembre 20th, 2011:

    Genial, me ha servido mucho lo de htaccess. Casi me vuelvo loco.

  8. 8 Miguel said at 15:33 on diciembre 1st, 2011:

    Gracias Rodrigo, muy conciso y aplicado el post. Super útil.

  9. 9 Antonio said at 21:52 on mayo 3rd, 2012:

    Your comment is awaiting moderation.

    hola,

    tengo un problema que no se ve los caracter cirilico en nuestra web, esta en PHP y MYSQL, la persona que nos hizo la web a desaparecido y ahora no se por donde tirar con esto, alguien me podria ayudar y le digo cual son los motores que mueve esto mirar en http://toroalbala.com/comun.php?seccion=vinos arriba bandeja rusa gracias, os prometo que os regalare unos vinos bueno

  10. 10 Angel said at 15:49 on mayo 23rd, 2013:

    Muy buen aporte me solucionó el problema de caracteres raros en los listados.
    Gracias

  11. 11 interesante said at 21:46 on marzo 24th, 2014:

    Buen tutorial ;)

  12. 12 jose said at 17:34 on abril 7th, 2014:

    Gracias por el contenido lo aplicare en cuenta pueda saludos…


Deja un comentario