Đối với một số trang web, tôi nhận thấy trình đơn 'Xem / mã hóa ký tự' của Firefox bị vô hiệu hóa, tại sao?
Có thể kích hoạt nó?
Đối với một số trang web, tôi nhận thấy trình đơn 'Xem / mã hóa ký tự' của Firefox bị vô hiệu hóa, tại sao?
Có thể kích hoạt nó?
Câu trả lời:
Đó là do bản sửa lỗi cho Bug 234628 , Tắt Chế độ xem> Mã hóa ký tự khi nó không có hiệu lực / không cần thiết (ví dụ: XML) .
Cụ thể, nếu bạn nhìn vào bình luận # 63 :
Đối với trường hợp có BOM UTF-8, việc để BOM được ưu tiên hơn menu
Các BOM được sử dụng để xác định thứ tự của byte trong một tài liệu Unicode được mã hóa.
Những lý do được đưa ra có thể được tóm tắt là:
Gecko (công cụ kết xuất của Firefox) không hỗ trợ bất kỳ mã hóa nào khác sẽ hiển thị BOM dưới dạng bắt đầu HTML hợp lệ ( <html
hoặc <!DOCTYPE
v.v.).
Các trình duyệt chính khác (IE6 +, dựa trên WebKit [Chrome, v.v.)) cũng làm điều tương tự. Ví dụ: nếu bạn cố gắng thay đổi mã hóa trên Chrome, nó sẽ đặt lại về UTF-8.
Làm khác có khả năng có thể gây rối đầu vào mẫu.
Trang ví dụ bạn cung cấp bắt đầu bằng ba byte BOM UTF-8. Bạn có thể thấy điều này nếu bạn lưu trang và mở tệp HTML trong trình chỉnh sửa hex. BOM tích cực xác định nó là tài liệu UTF-8 và mở nó trong bất kỳ mã hóa nào khác sẽ không mang lại một trang HTML chính xác.
Bạn có thể thấy 0xEF
0xBB
0xBF
BOM ở bên trái, như được mô tả trên Wikipedia . Ở bên phải, nó hiển thị trông như thế nào khi được hiển thị dưới dạng ANSI / CP1252 .
Nếu bạn thực sự muốn, bạn có thể lưu tệp, loại bỏ BOM vi phạm và mở tệp. Hoặc bạn có thể thiết lập proxy (Fiddler2 phù hợp với điều này) sẽ chặn và sửa đổi các tệp trước khi chúng vào trình duyệt của bạn. Tuy nhiên, đây không phải là những giải pháp thực sự tốt và có khả năng sẽ tạo ra nhiều vấn đề hơn nữa. Điều tốt nhất để làm, nếu bạn có vấn đề về mã hóa, là liên hệ với người bảo trì trang web. Tất cả chúng ta nên chuyển sang Unicode nếu có thể, không sử dụng các tiêu chuẩn mã hóa cũ hơn và hạn chế hơn.
Đây có lẽ là một lỗi. Chromium đã có một vấn đề tương tự nhiều năm trước.