Por que usar entidades HTML em vez de apenas colocar caracteres Unicode em HTML?

12

Digamos que eu queira colocar um caractere não agradável em um arquivo HTML; por exemplo, '→'. Existe alguma razão para eu inseri-lo como '& rarr;' em vez de apenas colocar '→' no arquivo HTML? Suponha que meu arquivo HTML seja codificado e transmitido em algum formato Unicode.

usuario
fonte

Respostas:

10

Essas duas declarações finais são grandes suposições.

Por exemplo, temos um aplicativo da web que usa AJAX com seu significado literal - usamos para carregar documentos XML em tempo real. Se o documento XML não tiver o content-encodingcabeçalho correto (ou estiver faltando um), quaisquer caracteres unicode (citações inteligentes, traços longos, até algum espaço em branco especial e a palavra Café) farão com que o Internet Explorer caia no chão todas as vezes. A solicitação AJAX simplesmente falha e dispara um erro javascript.

No entanto, se fizermos uma substituição no servidor de todos os caracteres unicode por suas entidades HTML, tudo funcionará perfeitamente.

Obviamente, se o seu arquivo tiver os cabeçalhos de conteúdo corretos, isso não deve ser um problema para qualquer navegador moderno.

Mark Henderson
fonte
0

No entanto, se fizermos uma substituição no servidor de todos os caracteres unicode por suas entidades HTML, tudo funcionará perfeitamente.

Isso pressupõe que todos os caracteres podem ser substituídos por entidades HTML, o que eles não podem. Use os cabeçalhos corretos e identifique esses problemas (usando o cabeçalho errado) com antecedência, em vez de ficar confusos quando ocorrerem mais tarde.


fonte
7
Na verdade, todo caractere unicode possui uma entidade HTML apropriada.
Mark Henderson
Oh, meu mal, eu estava pensando nas entidades nomeadas. :) #
0

Apenas para acrescentar à excelente resposta aceita: no geral, os arquivos ASCII são muito mais portáteis em vários editores.

Bobby Jack
fonte