Mã hóa ký tự trong html5
Trình duyệt nên biết bộ ký tự nào (mã hóa ký tự) sẽ sử dụng. Cần phải hiển thị chính xác trang HTML Show UTF-8 là mã hóa ký tự mặc định cho HTML5. Tuy nhiên, nó đã được sử dụng để được khác nhau. ASCII là bộ ký tự trước nó. Và ISO-8859-1 là bộ ký tự mặc định từ HTML 2. 0 cho đến HTML 4. 01 Tuy nhiên, vẫn có vấn đề với mã hóa và khi UTF-8 xuất hiện cùng với HTML5 và XML, nhiều vấn đề đã được giải quyết Hãy xem chi tiết hơn về bộ ký tự ASCII là tiêu chuẩn mã hóa ký tự đầu tiên, còn được gọi là bộ ký tự. Nó được viết tắt từ American Standard Code for Information Interchange Đối với mỗi ký tự có thể lưu trữ, ASCII đã xác định một số nhị phân duy nhất để hỗ trợ bảng chữ cái viết hoa và viết thường (a-z, A-Z), các số từ 0-9 và các ký tự đặc biệt. Ban đầu nó dựa trên bảng chữ cái tiếng Anh và mã hóa 128 ký tự thành số nguyên nhị phân 7 bit vì người ta biết rằng tất cả thông tin máy tính được ghi dưới dạng số nhị phân và số không (01000101) trong thiết bị điện tử. Dưới đây, bạn có thể thấy một biểu đồ ASCII Vấn đề lớn nhất đối với ASCII là nó không có các chữ cái không phải tiếng Anh. Nó vẫn được sử dụng, đặc biệt là trong các máy tính lớn Nhấn vào đây để xem thêm về ASCII ANSI, còn được gọi là Windows-1252, là ký tự mặc định được đặt cho Windows cho đến Windows 95. Nó là một phần mở rộng cho ASCII, có thêm các ký tự quốc tế. Nó hỗ trợ 256 ký tự sử dụng một byte đầy đủ (8-bit) ANSI được tất cả các trình duyệt hỗ trợ kể từ khi nó được công bố là bộ ký tự mặc định của Windows ISO-8859-1 trở thành mã hóa ký tự mặc định trong HTML2. 0, vì hầu hết các quốc gia sử dụng các ký tự khác với ASCII. Nó cũng là một phần mở rộng của ASCII, giống như ANSI, và nó thêm các ký tự quốc tế. ISO-885-1 cũng sử dụng một byte đầy đủ để hiển thị gấp đôi số ký tự so với ASCII Nhấn vào đây để xem thêm về ISO-8859-1 ISO-8859-1 là phần mở rộng của ASCII, có thêm các ký tự quốc tế
Nếu trang HTML4 sử dụng mã hóa ký tự khác với ISO-8859-1, mã hóa này phải được xác định trong thẻ
Tất cả các bộ xử lý HTML4 đều hỗ trợ UTF-8
Khi một trình duyệt phát hiện ISO-8859-1, nó thường mặc định là ANSI, vì cái sau có thêm 32 ký tự quốc tế UTF-8 là mã hóa ký tự mặc định cho HTML5 Vì các bộ ký tự được đề cập ở trên bị hạn chế, Unicode Consortium đã phát triển một Tiêu chuẩn Unicode Bộ ký tự HTML còn được gọi là Bộ ký tự HTML hoặc Mã hóa HTML. Nó được sử dụng để hiển thị đúng và chính xác một trang HTML vì để hiển thị chính xác mọi thứ, trình duyệt web phải biết sử dụng bộ ký tự nào (mã hóa ký tự) Mã hóa ký tự HTMLCó nhiều loại Mã hóa ký tự được đưa ra dưới đây Bộ ký tự ASCIIASCII là viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin. Trong HTML, tiêu chuẩn mã hóa ký tự đầu tiên là tiêu chuẩn ASCII. ASCII cung cấp 128 ký tự chữ và số khác nhau có thể được sử dụng trên internet. số (0-9), chữ cái tiếng Anh (A-Z), và một số ký tự đặc biệt như. $ + - ( ) @ <> Vấn đề chính với mã hóa ASCII là nó chứa một số ký tự giới hạn. Nó chứa chủ yếu 128 ký tự Bộ ký tự ANSIANSI là viết tắt của Viện tiêu chuẩn quốc gia Hoa Kỳ. Đó là tiêu chuẩn bộ ký tự là phiên bản mở rộng của bộ ký tự ASCII tiêu chuẩn. Nó hỗ trợ bộ 256 ký tự. ANSI còn được gọi là Windows-1252 và đó là ký tự mặc định được đặt cho Windows cho đến Windows 95 Bộ ký tự ISO-8859-1ISO-8859-1 là mã hóa ký tự mặc định trong HTML 2. 0. Nó cũng là một phần mở rộng của tiêu chuẩn ASCII với các ký tự Quốc tế. Nó cũng sử dụng toàn bộ byte (8 bit) để hiển thị các ký tự Bộ ký tự UTF-8UTF-8 là mã hóa ký tự có độ rộng thay đổi bao gồm hầu hết tất cả các ký tự và ký hiệu trên thế giới. ANSI (Windows-1252) là bộ ký tự gốc của Windows, hỗ trợ 256 mã ký tự khác nhau ISO-8859-1 là bộ ký tự mặc định cho HTML 4. Bộ ký tự này cũng hỗ trợ 256 mã ký tự khác nhau Tại sao UTF 8 cũng được hỗ trợ trong HTML4? Vì ANSI và ISO-8859-1 quá hạn chế nên HTML 4 cũng hỗ trợ UTF-8. Mã hóa ký tự mặc định cho HTML5 là UTF-8 Chào mừng bạn trở lại chuyên mục bán thường xuyên của tôi, "Con đường dẫn đến HTML 5", nơi tôi sẽ cố gắng giải thích một số phần tử, thuộc tính mới và các tính năng khác trong đặc tả HTML 5 sắp tới Tính năng của ngày hôm nay là mã hóa ký tự, cụ thể là cách xác định mã hóa ký tự của tài liệu HTML. Tôi chưa bao giờ hạnh phúc hơn khi tôi viết về mã hóa ký tự. Nhưng trước tiên, đây là mô tả "cao độ thang máy" tiêu chuẩn của tôi về mã hóa ký tự là gì
Và một lần nữa mình nhắc lại bộ link nền chuẩn của mình cho những bạn chưa biết gì về bảng mã ký tự. Bạn phải đọc cuốn sách của Joel Spolsky Mức tối thiểu tuyệt đối mà mọi nhà phát triển phần mềm phải biết một cách tích cực về Unicode và bộ ký tự (Không bào chữa. ) Bạn nên đọc loạt bài ba phần của Tim Bray, On the Goodness of Unicode, On Character Strings, và Characters vs. Byte và bất cứ thứ gì được viết bởi Martin Dürst Tôi cũng nên chỉ ra rằng bạn phải luôn chỉ định mã hóa ký tự trên mọi trang HTML mà bạn phục vụ. Không chỉ định mã hóa có thể dẫn đến lỗ hổng bảo mật Vì vậy, làm thế nào để trình duyệt của bạn thực sự xác định mã hóa ký tự của luồng byte mà máy chủ web gửi?
Tóm lại, điều này nói rằng máy chủ web nghĩ rằng nó đang gửi cho bạn một tài liệu HTML và nó nghĩ rằng tài liệu đó sử dụng mã hóa ký tự Tóm lại, điều này nói rằng tác giả web nghĩ rằng họ đã tạo ra một tài liệu HTML bằng cách sử dụng mã hóa ký tự Đây là những gì HTML 4. 01 phải nói về thứ tự ưu tiên để xác định mã hóa ký tự
Và đây là những gì HTML 5 nói về nó. Tôi sẽ không trích dẫn toàn bộ ở đây, nhưng đủ để nói rằng đó là một thuật toán gồm 7 bước; . Nó tiếp tục như vậy trong một thời gian. Ý chính của nó là
và sau đó
Hai điều nên nhảy ra ở bạn ở đây. Đầu tiên, WTF là một thuộc tính 0? . Nó trông như thế này1 Tôi chỉ có thể tìm thấy cuộc thảo luận rải rác về thuộc tính này trên danh sách gửi thư WHATWG
Lời giải thích tốt nhất về thuộc tính 0 mới được đưa ra vài tháng sau, trong một chủ đề không liên quan, trên một danh sách gửi thư riêng. Andrew Sidwell giải thích
(Thậm chí có một vài trường hợp thử nghiệm 0 nếu bạn không tin rằng các trình duyệt đã làm điều này. )Thứ hai, ai là người— nhóm WHATWG nghĩ rằng họ đang chỉ định "sự cố ý vi phạm đặc điểm kỹ thuật của Mô hình nhân vật W3C" ‽ Đây là . Cũng như nhiều câu hỏi như vậy, câu trả lời là HTML 5 chỉ mã hóa những gì trình duyệt đã làm. ISO-8859-1 và Windows-1252 là các mã hóa rất giống nhau. Một điểm chúng khác nhau là ở cái gọi là "dấu ngoặc kép thông minh" và "dấu nháy đơn" - những khởi sắc kiểu chữ nhỏ xinh mà các tác giả yêu thích và Microsoft Word (và nhiều trình soạn thảo khác) xuất ra theo mặc định. Nhiều tác giả chỉ định mã hóa ISO-8559-1 hoặc US-ASCII (vì họ đã sao chép phần mẫu đó từ một nơi khác), nhưng sau đó họ sử dụng dấu ngoặc kép từ mã hóa Windows-1252. Lỗi này phổ biến đến mức các trình duyệt đã coi ISO-8859-1 là Windows-1252. HTML 5 chỉ là "lát đường bò" ở đây. Tóm lại. mã hóa ký tự rất phức tạp và nó đã không được thực hiện dễ dàng hơn sau nhiều thập kỷ phần mềm được viết kém được sử dụng bởi các tác giả có học thức sao chép và dán. Bạn phải luôn chỉ định mã hóa ký tự trên mọi tài liệu HTML, nếu không điều tồi tệ sẽ xảy ra. Bạn có thể làm theo cách khó (tiêu đề HTTP 0), nhưng hãy làm theo. web cảm ơn bạn
Làm cách nào để đặt mã hóa ký tự trong HTML5?Bạn có thể sử dụng phần tử . Cú pháp trên thay thế nhu cầu
3 loại mã hóa ký tự là gì?Có ba bảng mã ký tự Unicode khác nhau. UTF-8, UTF-16 và UTF-32 .
Cách đặt UTFMã hóa ký tự phải được chỉ định cho mọi trang HTML, bằng cách sử dụng tham số bộ ký tự trên tiêu đề phản hồi HTTP Kiểu nội dung (e. g. Loại nội dung. văn bản/html; . .
Là HTML ASCII hay UTFMã hóa ký tự mặc định trong HTML-5 là UTF-8 . |