Originariamente inviato da Cerebro
Insomma devo far passare TUTTE le stringhe per htmlentities($stringa, ENT_NOQUOTES, 'UTF-8')?
No, non è obbligatorio. Le entità sono sempre ammesse, sia quelle numeriche che letterali. Se la pagina dichiara nel head un certo charset, allora si può anche mettere direttamente la sequenza di byte secondo quel determinato charset.

Se la pagina dichiara utf-8, allora ad esempio per scrivere la lettera 'ó' puoi scrivere:
- la entità ó
- la sequenza di byte C3h B3h ("ó")