เหตุใดจึงใช้เอนทิตี HTML แทนที่จะใส่อักขระ Unicode ใน HTML


12

สมมติว่าฉันต้องการใส่ตัวอักษรที่ไม่สุภาพในไฟล์ HTML; เช่น '→' มีเหตุผลใดที่ฉันควรป้อนเป็น '& rarr;' แทนที่จะใส่ '→' ในไฟล์ HTML? สมมติว่าไฟล์ HTML ของฉันถูกเข้ารหัสและส่งในรูปแบบ Unicode บางรูปแบบ

คำตอบ:


10

ทั้งสองงบสุดท้ายเป็นสมมติฐานใหญ่

ตัวอย่างเช่นเรามีเว็บแอปที่ใช้ AJAX กับความหมายที่แท้จริง - เราใช้มันสำหรับการโหลดเอกสาร XML ได้ทันที หากเอกสาร XML ไม่มีcontent-encodingส่วนหัวที่ถูกต้อง(หรือขาดหายไปหนึ่งตัว) ดังนั้นอักขระ unicode ใด ๆ (smartquotes, ขีดกลางยาวแม้แต่ช่องว่างพิเศษและคำCafé) ทำให้ Internet Explorer ตกอยู่ในทุกครั้ง คำขอ AJAX ล้มเหลวและยกเลิกข้อผิดพลาดจาวาสคริปต์

อย่างไรก็ตามหากเราทำการแทนที่อักขระยูนิโค้ดฝั่งเซิร์ฟเวอร์ด้วยเอนทิตี HTML ทั้งหมดทุกอย่างก็ใช้ได้ดี

แน่นอนหากไฟล์ของคุณมีส่วนหัวของเนื้อหาที่ถูกต้องนี่จะไม่เป็นปัญหาสำหรับเบราว์เซอร์สมัยใหม่


0

อย่างไรก็ตามหากเราทำการแทนที่อักขระยูนิโค้ดฝั่งเซิร์ฟเวอร์ด้วยเอนทิตี HTML ทั้งหมดทุกอย่างก็ใช้ได้ดี

สิ่งนี้ถือว่าตัวละครทั้งหมดสามารถถูกแทนที่ด้วย HTML- เอนทิตีซึ่งพวกเขาไม่สามารถ ใช้ส่วนหัวที่ถูกต้องและระบุปัญหาเหล่านี้ (ใช้ส่วนหัวที่ไม่ถูกต้อง) แต่เนิ่นๆแทนที่จะสับสนเมื่อเกิดขึ้นในภายหลัง


7
จริงๆแล้วทุกตัวอักษรยูนิโค้ดมีเอนทิตี HTML ที่เหมาะสม
Mark Henderson

โอ้ฉันไม่ดีฉันกำลังคิดถึงหน่วยงานที่มีชื่อ :)

0

เพียงเพื่อเพิ่มไปยังคำตอบที่ได้รับการยอมรับอย่างดี: โดยรวมแล้วไฟล์ ASCII นั้นพกพาสะดวกกว่าเครื่องมือแก้ไขอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.