Mengapa menggunakan entitas HTML alih-alih hanya menempatkan karakter Unicode dalam HTML?

12

Katakanlah saya ingin meletakkan karakter non-hambar dalam file HTML; misalnya, '→'. Apakah ada alasan mengapa saya harus memasukkannya sebagai '& rarr;' alih-alih hanya menempatkan '→' dalam file HTML? Asumsikan file HTML saya dikodekan & dikirim dalam beberapa format Unicode.

Nick
sumber

Jawaban:

10

Dua pernyataan terakhir itu adalah asumsi besar.

Misalnya, kami memiliki aplikasi web yang menggunakan AJAX untuk arti sebenarnya - kami menggunakannya untuk memuat dokumen XML dengan cepat. Jika dokumen XML tidak memiliki content-encodingtajuk yang benar (atau tidak memiliki tajuk sama sekali), maka setiap karakter unicode (smartquotes, tanda hubung panjang, bahkan spasi putih dan kata Café) membuat Internet Explorer jatuh ke pantatnya setiap saat. Permintaan AJAX hanya gagal dan melepaskan kesalahan javascript.

Namun, jika kita melakukan penggantian sisi-server dari semua karakter unicode dengan entitas HTML mereka, semuanya berfungsi dengan baik.

Tentu saja, jika file Anda memiliki header konten yang benar maka ini seharusnya tidak menjadi masalah untuk browser modern apa pun.

Mark Henderson
sumber
0

Namun, jika kita melakukan penggantian sisi-server dari semua karakter unicode dengan entitas HTML mereka, semuanya berfungsi dengan baik.

Ini mengasumsikan semua karakter dapat diganti dengan entitas HTML, yang mereka tidak bisa. Gunakan tajuk yang benar dan cari masalah ini (menggunakan tajuk yang salah) sejak dini, alih-alih menjadi bingung saat muncul nanti.


sumber
7
Sebenarnya, setiap karakter unicode memiliki entitas HTML yang sesuai.
Mark Henderson
Oh, salahku, aku memikirkan entitas yang disebutkan. :)
0

Hanya untuk menambah jawaban yang diterima dengan sangat baik: secara keseluruhan, file ASCII jauh lebih portabel di berbagai editor.

Bobby Jack
sumber