dunque... e' complesso... ma iniziamo cosi'...
Io sto' perennemente litigando con i caratteri accentati... e ho semi risolto facendo alcune operazioni:
Imposto tutte le pagine in modo che lavorino in UTF-8 con
Header("Content-Type: text/html;charset=UTF-8");
i dati che mi passo tramite post o db li "filtro" con le funzioni
utf8_encode (ad esempio quando li stampo)
utf8_decode (quando li prendo dal post)
Se non ricordo male perchè non ho i sorgenti sotto mano...