convertir web a UTF-8

Estos días me estuve peleando con pasar un sistema web PHP+MySQL a UTF-8 y olvidarme de ISO para siempre. Hay dos cosas que me salvaron la vida. Por un lado, al estar mysql en todo esto, es necesario especificar que usarás UTF8 en las conexiones (tanto con PEAR::DB como con adoDB):

$db->query(“SET CHARACTER SET ‘utf8′”);

Por otro, pasar una lista de ficheros de una codificación a otra se puede hacer fácilmente con:

root# for i in `ls *.foo` ; do cp $i $i.old; iconv -f ISO8859-15 -t UTF-8 $i -o $i.out ; cat $i.out > $i; rm -f $i.out; done

et voila. (ya tenía la base de datos MYSQL en utf-8, eso sí).

Por supuesto, cambiamos el parámetro del httpd.conf (apache):

“AddDefaultCharset ISO-8859-1”

y ponemos:

“AddDefaultCharset UTF-8”

Y bienvenidos a un mundo de alegría, color y …¡diferentes idiomas!😉. Ahora queda ir puliendo, y quitar todas las entidades html (ó etc…) existentes en el sistema (“str_replace” y “select replace” en el caso de mysql), pero digamos que el paso feo ya lo dimos.

2 comentarios en “convertir web a UTF-8

  1. Hola.

    ¿Podrías explicar más detalladamente cómo hacer el cambio a UTF-8?

    Soy nuevo en este Tema y me gustaría hacerlo.

    Gracias de Antemano.

    Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s