Quizás el error radica en el conjunto de caracteres con el que está sirviendo la página. Si está sacando contenido UTF-8 de la base de datos y sirviéndolo con el conjunto de caracteres HTML predeterminado de Windows-1252, entonces se verá distorsionado. Asegúrate de tener el equivalente a esto:
header( 'Content-Type: text/html; charset=utf-8' );
en tu código PHP.