it-swarm-eu.dev

Proč používat entity HTML místo pouhého vkládání znaků Unicode do HTML?

Řekněme, že chci do souboru HTML vložit nezaujatý znak; například „→“. Existuje nějaký důvod, proč bych to měl zadat jako 'rarr;' místo toho, abyste do souboru HTML vložili pouze „→“? Předpokládejme, že můj soubor HTML je kódován přenášen v nějakém formátu Unicode.

12
Nick

Tato dvě závěrečná prohlášení jsou velkými předpoklady.

Máme například webovou aplikaci, která používá AJAX ve svém doslovném významu - používáme jej pro načítání dokumentů XML za běhu. Pokud dokument XML nemá správnou záhlaví content-encoding (nebo mu vůbec chybí), pak všechny znaky unicode (smartquotes, dlouhé pomlčky, dokonce i některé speciální mezery a slovo Café) vytvoří Internet Explorer. padnout na zadek pokaždé. Požadavek AJAX selže a vyhodí chybu javascriptu.

Pokud však na straně serveru nahradíme všechny znaky unicode jejich entitami HTML, vše funguje dobře.

Pokud má váš soubor správné záhlaví obsahu, pak by to neměl být problém pro žádný moderní prohlížeč.

10
Mark Henderson

Stačí přidat k vynikající přijaté odpovědi: soubory ASCII jsou celkově mnohem přenosnější napříč různými editory.

0
Bobby Jack

Pokud však na straně serveru nahradíme všechny znaky unicode jejich entitami HTML, vše funguje dobře.

To předpokládá, že všechny znaky mohou být nahrazeny HTML entitami, které nemohou. Použijte správné záhlaví a včas zjistěte tyto problémy (pomocí nesprávné hlavičky), místo aby byly zmateny, když k nim dojde později.

0
Kim