Veo que está ejecutando esta consulta... mysql_query('SET CHARACTER SET utf8');
Intenta cambiar eso por esto...
mysql_query("SET NAMES 'utf8'");
Eso debería asegurar que la conexión sea UTF-8.
También intente revisar la lista de elementos de este artículo... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Esto enumera los pasos necesarios para asegurarse de que está utilizando UTF-8 de adelante hacia atrás en su sitio/aplicación, pero en resumen:
- Compruebe que tiene la extensión mbstring de PHP y tiene
mb_internal_encoding('UTF-8');
establecido en su secuencia de comandos. - Asegúrese de ejecutar esta consulta MySQL después de conectarse a su base de datos
mysql_query("SET NAMES 'utf8'");
lo que garantiza que la conexión sea UTF-8. - Establezca el encabezado HTTP de su salida...
header('Content-type: text/html; charset=UTF-8');
. Esto no parece ser necesario si ha configuradomb_internal_encoding()
arriba pero útil para la depuración - Asegúrese de que la codificación de salida de su página HTML esté configurada...
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />