ho fatto un altra prova e funziona... sicuro che passi bene alla funzione il valore che riprendi dal form

metti caso che il tuo campo di input sia "testo", quando lo riprendi con $ testo=$_POST['testo'] prima di inserirlo ne db devi fare:

$testo=htmlentities($_POST['testo'],ENT_QUOTES);

nel db vedrai che il carattere viene memerozzato come &agrave o &eacute ecc... ,
e quando richiami il valore per stamparlo a video dovresti visualizzarlo come à oppure è ecc...