Perché usare entità HTML anziché semplicemente inserire caratteri Unicode in HTML?


12

Diciamo che voglio mettere un carattere non insipido in un file HTML; ad esempio, '→'. C'è qualche motivo per cui dovrei inserirlo come "& rarr;" invece di mettere semplicemente '→' nel file HTML? Supponiamo che il mio file HTML sia codificato e trasmesso in un formato Unicode.

Risposte:


10

Queste due dichiarazioni finali sono grandi assunzioni.

Ad esempio, abbiamo un'app Web che utilizza AJAX per il suo significato letterale: la usiamo per caricare documenti XML al volo. Se il documento XML non ha l' content-encodingintestazione corretta (o ne manca affatto), qualsiasi carattere unicode (smartquotes, trattini lunghi, persino alcuni spazi bianchi speciali e la parola Café) fa cadere Internet Explorer sul culo ogni volta. La richiesta AJAX non riesce e genera un errore javascript.

Tuttavia, se eseguiamo una sostituzione lato server di tutti i caratteri Unicode con le loro entità HTML, tutto funziona perfettamente.

Naturalmente, se il tuo file ha le intestazioni di contenuto corrette, questo non dovrebbe essere un problema per nessun browser moderno.


0

Tuttavia, se eseguiamo una sostituzione lato server di tutti i caratteri Unicode con le loro entità HTML, tutto funziona perfettamente.

Ciò presuppone che tutti i caratteri possano essere sostituiti con entità HTML, cosa che non possono. Utilizzare le intestazioni corrette e individuare tempestivamente questi problemi (utilizzando l'intestazione errata), anziché essere confusi quando si verificano successivamente.


7
In realtà, ogni personaggio unicode ha un'entità HTML appropriata.
Mark Henderson,

Oh, mio ​​male, stavo pensando alle entità nominate. :)

0

Solo per aggiungere all'ottima risposta accettata: nel complesso, i file ASCII sono molto più portabili su vari editor.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.