Che charset stai utilizzando?
Nei meta html hai questa riga
Il tuo editor è impostato con encoding utf8?codice:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Utilizzando le impostazioni di sopra dovresti essere in grado di visualizzare ogni sorta di carattere speciale (per quelli in arrivo dal db servono ancora un paio di impostazioni) ed inoltre potrai evitare di chiamare la funzione htmlspecialchars.
Prova e fammi sapere.
Ciao