Sabes cuando tienes esa situación es porque difiere la codificación de caracteres de lo que imprime el php en el html para el apache o el servidor web que tengas.
Es tal el caso en que no tengas el "AddCharset default UTF-8" en el apache habilitado.
pero esa es algo solucionable, ya que debes utilizar los caracteres especiales de HTML.
Supongamos que en tu BD tienes escrito de modo normal, es decir con los acentos, la eñe, etc...
Entonces desde tu PHP puedes utilizar la funcion htmlentities()
http://www.php.net/manual/es/function.htmlentities.php
Aquí te paso un ejemplo:
Código:
$respuesta = "ésta es la última línea que regaña a mi código";
echo htmlentities($respuesta, ENT_QUOTES);
Espero te sirva
Saludos