No te puedo explicar por qué pasa esto, porque la verdad, yo tampoco lo entiendo muy bien. Pero si te puedo decir como resolverlo. Juega con las funciones htmlentities(), utf8_encode() y utf8_decode(). Por ejemplo:
Código PHP:
$res_texto = mysql_query ("SELECT titulo FROM blog WHERE (id_blog = 1)");
$titulo = mysql_result($res_texto, 0, "titulo");
$cadena = htmlentities($titulo);
echo "Nada: ".$cadena ."<br> \n";
Si ves que así se te sigue viendo mal, después de aplicar el htmlentities aplícale otra función, aunque a mi así me funciona bien.
Espero que te sirva.
Un saludo.