Hola,
en mi caso yo uso:
- utf8_general_ci para la base de datos y/o sus tablas
- un header('Content-Type: text/html; charset=utf-8'); en mi archivo de configuración
- utf8 para la codificación de la cabecera del HTML
- y utf8 para para los plantillas o archivos que contienen texto estático.
Creo que con la llamada a header, te puedes evitar realizar los últimos 2 pasos. Hasta ahorita no he tenido problemas. xD Pero si necesitas hacer manipulación extensiva de cadenas tienes que tener cuidado ya que algunas
funciones de PHP no se comportan igual con utf.
La ventaja de usar utf8 es
internacionalización y
localización.
Saludos.