Fai attenzione che pure la codifica del file deve essere in utf-8 .

Io ci lotto spesso con le codifiche di caratterei jappo cinorussi etc.

I caratteri speciali italiani (se pur presenti nella codifica utf-8) sono traquillamente convertibili in codifica html (iso-quello che e') con la funzione htmlentities(). attento che questa ti converte pure "<" e ">" .

I caratteri utf-8 sono semore na rottura quando la config del server scassa. Anche perche' dipendono appunto da che codifiche acceta il server che stai usando.

A me capitava che file salvati con codifica utf-8 funzionassero anche senza il charset nell'html SOLO SU FIREFOX. Una volta specificato il charset anche nell'html i files funzionavano anche su ie.

Controlla l'encoding del file.