Existen varias causas, las más comunes son
- Los datos no están en UTF-8
- La base de datos no está en UTF-8
- etc
la solución es
Consideraciones
- Revisa que tu archivo de PHP este almacenado en formato UTF-8
- Revisa que el HTML del sitio este en UTF-8
- Revisa que la configuración del servidor web este en UTF-8
- Revisa que la configuración de mysql y las tablas esten en UTF-8
Solución
etc
Ejemplo
etc