Stesso problema simile mi venne a me , solo che io i simboli non li sostituivo con htmlentities() questo lo usavo per inibire i <>.Invece per sostituirlo usavo str_replace() solo che i caratteri tipo è non viene visualizzato correttamente quindi l'ho sostituito con &#232. A questo punto salvati nel DB si vedeva bene e anche nelle pagine.Quindi ho sostituito i simboli normali con la loro entità numerica.
http://riemann.unica.it/studenti/guida/caratteri.html