No creo que tu solución sea adecuada... como dijero lo que estas haciendo es decodificar la cadena UTF-8 al mostrar los datos, esto tendría que ser al revés!.
El problema con esto de los carácteres es que muchos no entienden (entendemos) lo que sucede con la información y buscan una solución fácil con PHP, cuando PHP solo es un proceso más. La información viene desde que se escribe y guarda un archivo (si manejas HTML directo), luego al ejecutar ese archivo, se guarda información en la BD, se extraé y se muestra como HTML y no dejar pasar que un navegador tiene que interpretar esa información... entonces no solo es tema de PHP.
- ¿tus archivos estan guardados como UTF-8?
- ¿Manejas UTF-8 en tu Base de Datos?
- ¿Tu servidor entrega UTF-8?
-
¿En tu HTML especificas que es UTF-8 el juego de carácteres utilizado? (esta pregunta es para tí
richardinj que creo por aquí esta tu problema...)
- ¿Tu navegador acepta UTF-8?
... y no es nada complicado
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
.