Configurar tu web para usar UTF-8
He aquí los pasos a tener en cuenta:
1. Cabeceras
En la sección HEAD de la página se especificará el juego de caracteres a usar, lo que se logra escribiendo algo como
<HEAD> <meta name="tipo_contenido" content="text/html;" http-equiv="content-type" charset="utf-8"> </HEAD>
2. Formularios
Los formularios de la aplicación deberán estar configurados para que los datos que procesen obedezcan a UTF-8, lo cual se hace agregando el parámetroaccept-charset con el valor UTF-8:
<form name="formulario_usuario" method="post" accept-charset="UTF-8">
3. La base de datos
Los datos que se quieran convertir a UTF-8 desde una sentencia deberán obedecer a la siguiente sintaxis en una sentencia SQL (el ejemplo va con un INSERT):
INSERT INTO tabla VALUES (CONVERT(_latin1'Pepito Pérez' USING utf8), '1', md5("12345"));
Cabe aclarar que estas sentencias no funcionan al momento de hacer un dump desde consola ni por medio de una conexión al server. Usar entonces phpMyAdmin.
4. En el HTML
Para que nuestros textos estáticos muestren caracteres especiales sin problemas, es necesario que dichos caracteres sean escritos con su nombre HTML. Por ejemplo, las vocales minúsculas se escribirían de la sgte manera:
á => á é => é í => í ó => ó ú => ú
Para ver un listado completo pueden visitar este sitio, y una vez allí usen la columna HTML name.
5. JavaScript
Bueno, acá se sigue algo parecido al paso anterior (o al menos hasta que encontremos algo más decente). Se usa directamente el carácter en su formato UTF-8, de esta manera las vocales acentuadas y la ñ se ven así:
á => á é => é í => à ó => ó ú => ú ñ => ñ
Espero que el FeedBack por parte de los clabers esté lleno de mejoras, en especial para el 5 punto.