beh da fare sicuramente è un bel addslashes() anche per evitare SQL injections.

Per ovviare al problema di visualizzazione dei caratteri speciali all'intero degli attributi VALUE dei campi di input puoi ricorrere invece a htmlentities()

Sul forum comunque se ne è discusso sino alla nausea, ti basta fare un ricerca.