เหตุใด Firefox จึงปิดการใช้งานเมนู 'การเข้ารหัสตัวอักษร' สำหรับบางเว็บไซต์


11

สำหรับบางเว็บไซต์ฉันสังเกตว่าเมนู 'การดู / การเข้ารหัสอักขระ' ของ Firefox ถูกปิดใช้งานเพราะเหตุใด

เป็นไปได้ไหมที่จะเปิดใช้งาน


ตัวอย่างสำหรับหนึ่งไซต์ดังกล่าวคือ haszon.hu .
Calmarius

อาจเกี่ยวข้องกับ ข้อผิดพลาด 832910 ซึ่งขอให้เมนูการเข้ารหัสถูกปิดใช้งานในบางเว็บไซต์เพื่อป้องกันการหาประโยชน์ (นั่นคือเฉพาะ Android และยังไม่ได้แก้ไข; ฉันกำลังมองหาเดสก์ทอปที่เทียบเท่า)
Bob

คำตอบ:


13

มันเป็นเพราะการแก้ไขสำหรับ Bug 234628 , ปิดการใช้งานมุมมอง & gt; เมนูการเข้ารหัสอักขระเมื่อไม่มีผลกระทบ / ไม่จำเป็น (เช่น XML) .

โดยเฉพาะถ้าคุณดู ความคิดเห็นที่ 63 :

สำหรับกรณีที่มี UTF-8 BOM มันสมเหตุสมผลที่จะให้ BOM มีความสำคัญเหนือเมนู

BOM ใช้เพื่อระบุลำดับของไบต์ในเอกสารที่เข้ารหัส Unicode

เหตุผลที่ให้สามารถสรุปได้ดังนี้:

  • Gecko (เอ็นจิ้นการเรนเดอร์ของ Firefox) ไม่รองรับการเข้ารหัสอื่น ๆ ที่จะทำให้ BOM เป็นการเริ่มต้น HTML ที่ถูกต้อง ( <html หรือ <!DOCTYPE ฯลฯ )

  • เบราว์เซอร์หลักอื่น ๆ (IE6 +, WebKit-based [Chrome ฯลฯ ]) ทำสิ่งเดียวกัน ตัวอย่างเช่นหากคุณพยายามเปลี่ยนการเข้ารหัสบน Chrome ระบบจะรีเซ็ตกลับเป็น UTF-8

  • การทำอย่างอื่นอาจทำให้รูปแบบการป้อนข้อมูลยุ่งเหยิง


หน้าตัวอย่างที่คุณระบุเริ่มต้นด้วยสาม UTF-8 BOM ไบต์ คุณสามารถเห็นสิ่งนี้หากคุณบันทึกหน้าและเปิดไฟล์ HTML ในโปรแกรมแก้ไข hex BOM ระบุในเชิงบวกว่าเป็นเอกสาร UTF-8 และการเปิดในการเข้ารหัสอื่น ๆ จะไม่ให้หน้า HTML ที่ถูกต้อง

Screenshot of hex editor showing BOM

คุณสามารถดู 0xEF 0xBB 0xBF BOM ทางซ้าย ตามที่อธิบายไว้ใน Wikipedia . ด้านขวามันจะแสดง มันดูเหมือนอะไร เมื่อแสดงผลเป็น ANSI / CP1252 .

หากคุณต้องการจริงๆคุณสามารถบันทึกไฟล์ถอด BOM ที่ละเมิดแล้วเปิดไฟล์ได้ หรือคุณสามารถตั้งค่าพร็อกซี (Fiddler2 เป็นสิ่งที่ดีสำหรับเรื่องนี้) ที่จะดักจับและแก้ไขไฟล์ก่อนที่จะเข้าสู่เบราว์เซอร์ อย่างไรก็ตามสิ่งเหล่านี้ไม่ใช่วิธีแก้ปัญหาที่ดีและมีแนวโน้มที่จะสร้างปัญหาเพิ่มเติม สิ่งที่ดีที่สุดที่จะทำถ้าคุณมีปัญหาการเข้ารหัสคือการติดต่อผู้ดูแลเว็บไซต์ เราทุกคนควรจะย้ายไปที่ Unicode ถ้าเป็นไปได้ไม่ใช้มาตรฐานการเข้ารหัสแบบเก่าและ จำกัด


-1

มันอาจเป็นข้อผิดพลาด โครเมียม มีปัญหาที่คล้ายกัน ปีที่แล้ว


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