Ti sei spiegato benissimo, il problema però è l'opposto: quando aggiorna la tabella scrive sbagliato.

Ho provato comunque seguendo il tuo consiglio a modificare il contenuto prima di fare la query in questo modo:

$testo = htmlspecialchars($_POST['testo']);

Ma niente, registra sempre è al posto della è