desenv-web-rp.com

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

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

12
Nick

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

Por exemplo, temos um aplicativo da web que usa AJAX para seu significado literal - usamos para carregar documentos XML em tempo real. Se o documento XML não tiver o cabeçalho content-encoding correto (ou estiver faltando um), quaisquer caracteres unicode (citações inteligentes, traços longos, até alguns espaços em branco especiais e o Word Café) tornarão o Internet Explorer cair de bunda toda vez. A solicitação AJAX 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.

10
Mark Henderson

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

0
Bobby Jack

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 conseguem. 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.

0
Kim