É uma pergunta que está rodeada de confusões. Apesar disso a resposta, apesar de ser objectiva e relativamente simples, afastará muitos problemas irritantes e desnecessários.
As entidades são uma representação alternativa de um caracter para alem do seu valor numérico no código ascii ou do próprio caracter. Caracteres especiais têm um nome, a entidade, e podem ser representados por uma 'sequência escapada'. Por exemplo. O caracter í
, pode ser representado por í
.
Adicionalmente, qualquer caracter suportado pelo HTML pode ser representado por uma sequencia composta por &#
seguido do valor numérico do caracter e um ponto e vírgula.
Com a chegada do unicode, o uso deste tipo de representação tornou-se em certa medida obsoleto e não é recomendado. Em vez disso deve usar-se texto plano pois impede problemas de portabilidade e pode ser lido olhando apenas para o código fonte do documento.
É a pergunta que se impõe. A resposta é mais uma vez simples.
Os caracteres que fazem parte da sintaxe do HTML (&
, <
, >
, etc), têm forçosamente que ser escapados usando o tipo de notação descrito acima, pois de outra forma quebrariam a integridade do documento.
Em variadas situações, podem também existir limitações ou problemas técnicos que podem ser resolvidos com recurso ao uso de entidades. Estas incluem entre outras:
Para mais informação: http://www.w3.org/International/questions/qa-escapes