Il discorso dei charset è una delle cose più snervanti che esistono...

Subito dopo vengono le date

Per assicurarti che i caratteri di vedano bene devi:

Dichiarare nell'header la codifica che intendi usare.
Salvare le pagine php, html, etc. nella stessa codifica.
Usare la medesima codifica per la creazione del db.


In realtà a volte funziona tutto anche se non segui le regole di cui sopra, ma una cose assolutamente da evitare come la peste è mischiare i charset dei file.

Es. ho la pagina index.php che include header.php. Se index.php è salvato come utf-8 e header.php invece in ansi scordati nella maniera più assoluta di vedere correttamente qualsiasi carattere accentato o strano presente sul sito.