สิ่งนี้มีประโยชน์ในบริบทที่การเข้ารหัสไม่ได้บอกต่อส่วนหัว HTTP หรือข้อมูลเมตาอื่น ๆ เช่นระบบไฟล์โลคัล
ลองนึกภาพสไตล์ชีทต่อไปนี้:
[rel="external"]::after
{
content: ' ↗';
}
หากผู้อ่านบันทึกไฟล์ลงในฮาร์ดไดรฟ์และคุณไม่ใช้@charset
กฎเบราว์เซอร์ส่วนใหญ่จะอ่านไฟล์ในการเข้ารหัสตำแหน่งที่ตั้งของระบบปฏิบัติการเช่น Windows-1252 และแทรกâ - แทนที่จะเป็นลูกศร
น่าเสียดายที่คุณไม่สามารถพึ่งพากลไกนี้ได้เนื่องจากการสนับสนุนนั้นค่อนข้างหายาก และจำไว้ว่าในเน็ตส่วนหัว HTTP จะแทนที่@charset
กฎเสมอ
กฎที่ถูกต้องในการกำหนดชุดอักขระของสไตล์ชีทนั้นเป็นไปตามลำดับความสำคัญ:
- ส่วนหัว HTTP Charset
- เครื่องหมายคำสั่งซื้อแบบไบต์
@charset
กฎข้อแรก
- UTF-8
กฎข้อสุดท้ายคือจุดอ่อนที่สุดมันจะล้มเหลวในบางเบราว์เซอร์ แอตทริบิวต์ในเป็นล้าสมัยในHTML 5
ระวังความขัดแย้งระหว่างการประกาศที่แตกต่างกัน พวกเขาไม่ใช่เรื่องง่ายที่จะแก้ปัญหา
charset
<link rel='stylesheet' charset='utf-8'>
แนะนำให้อ่าน