Saya telah melihat instruksi ini sebagai baris pertama dari banyak file CSS yang telah diserahkan kepada saya:
@charset "UTF-8";
Apa fungsinya, dan apakah aturan ini diperlukan?
Juga, jika saya memasukkan meta tag ini ke elemen "head" saya, apakah itu menghilangkan keharusan untuk memilikinya juga ada dalam file CSS saya?
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
css
character-encoding
rsturim
sumber
sumber
Ini berguna dalam konteks di mana pengkodean tidak diceritakan per header HTTP atau data meta lainnya, misalnya sistem file lokal.
Bayangkan stylesheet berikut:
Jika pembaca menyimpan file ke hard drive dan Anda mengabaikan
@charset
aturan, sebagian besar browser akan membacanya di pengkodean lokal OS ', misalnya Windows-1252, dan masukkan â † - bukan panah.Sayangnya, Anda tidak dapat mengandalkan mekanisme ini karena dukungannya agak ... jarang. Dan ingat bahwa di internet header HTTP akan selalu menimpa
@charset
aturan.Aturan yang benar untuk menentukan rangkaian karakter stylesheet berada dalam urutan prioritas:
@charset
Aturan pertama .Aturan terakhir adalah yang terlemah, akan gagal di beberapa browser.
The
charset
atribut dalam<link rel='stylesheet' charset='utf-8'>
usang di HTML 5 .Waspadai konflik antara deklarasi yang berbeda. Mereka tidak mudah di-debug.
Bacaan yang disarankan
@charset
jika lebih dari satu nama terdaftar untuk pengkodean yang sama.@charset
. Ada tabel dukungan. Saya tidak percaya ini. :)sumber
content-type:text/css;charset=utf-8
tajuk?Salah satu alasan untuk selalu menyertakan spesifikasi rangkaian karakter pada setiap halaman yang berisi teks adalah untuk menghindari kerentanan skrip lintas situs. Dalam kebanyakan kasus, rangkaian karakter UTF-8 adalah pilihan terbaik untuk teks, termasuk halaman HTML.
sumber
Jika Anda meletakkan tag <meta> di file css Anda, Anda melakukan sesuatu yang salah. Tag <meta> termasuk dalam file html Anda , dan memberi tahu browser bagaimana html dikodekan, ia tidak mengatakan apa pun tentang css, yang merupakan file terpisah. Anda dapat memiliki penyandian yang sangat berbeda untuk html dan css Anda, meskipun saya tidak bisa membayangkan ini akan menjadi ide yang bagus.
sumber