Hướng dẫn which encoding is best for html? - mã hóa nào là tốt nhất cho html?
Câu hỏiLàm thế nào tôi nên khai báo mã hóa tệp HTML của tôi? Show
Bạn phải luôn chỉ định mã hóa được sử dụng cho trang HTML hoặc XML. Nếu bạn không, bạn có nguy cơ rằng các nhân vật trong nội dung của bạn được giải thích không chính xác. Đây không chỉ là một vấn đề về khả năng đọc của con người, ngày càng cần phải hiểu dữ liệu của bạn. Một khai báo mã hóa ký tự cũng là cần thiết để xử lý các ký tự không phải ASCII được nhập bởi người dùng trong các biểu mẫu, trong các URL được tạo bởi các tập lệnh, v.v. Bài viết này mô tả cách làm điều này cho một tệp HTML. Nếu bạn cần hiểu rõ hơn về các nhân vật và mã hóa nhân vật là gì, hãy xem bài viết mã hóa ký tự cho người mới bắt đầu. Để biết thông tin về việc khai báo mã hóa cho các bảng kiểu CSS, hãy xem các khai báo mã hóa ký tự CSS. Bạn nên luôn luôn sử dụng mã hóa ký tự UTF-8. (Hãy nhớ rằng điều này có nghĩa là bạn cũng cần lưu nội dung của mình dưới dạng UTF-8.) Xem những gì bạn nên xem xét nếu bạn thực sự không thể sử dụng UTF-8. Nếu bạn có quyền truy cập vào cài đặt máy chủ, bạn cũng nên xem xét liệu có hợp lý khi sử dụng tiêu đề HTTP hay không.Tôi có nên sử dụng UTF không
UTF-16, rõ ràng, hiệu quả hơn cho A) các ký tự mà UTF-16 yêu cầu mã hóa ít hơn để mã hóa so với UTF-8. UTF-8, rõ ràng, hiệu quả hơn cho b) các ký tự mà UTF-8 yêu cầu mã hóa ít hơn để mã hóa so với UTF-16. Là html ascii hoặc utf Nếu bạn có quyền truy cập vào cài đặt máy chủ, bạn cũng nên xem xét liệu có hợp lý khi sử dụng tiêu đề HTTP hay không. Tuy nhiên, lưu ý rằng, vì tiêu đề HTTP có mức độ ưu tiên cao hơn so với các khai báo Bạn có thể phát hiện bất kỳ mã hóa nào được gửi bởi tiêu đề HTTP bằng trình kiểm tra quốc tế hóa. Bạn nên luôn luôn sử dụng mã hóa ký tự UTF-8. (Hãy nhớ rằng điều này có nghĩa là bạn cũng cần lưu nội dung của mình dưới dạng UTF-8.) Xem những gì bạn nên xem xét nếu bạn thực sự không thể sử dụng UTF-8. Nếu bạn có quyền truy cập vào cài đặt máy chủ, bạn cũng nên xem xét liệu có hợp lý khi sử dụng tiêu đề HTTP hay không.Tôi có nên sử dụng UTF khôngUTF-16, rõ ràng, hiệu quả hơn cho A) các ký tự mà UTF-16 yêu cầu mã hóa ít hơn để mã hóa so với UTF-8. UTF-8, rõ ràng, hiệu quả hơn cho b) các ký tự mà UTF-8 yêu cầu mã hóa ít hơn để mã hóa so với UTF-16. Là html ascii hoặc utf Tiêu chuẩn HTML5: Unicode UTF-8 Các bao gồm tiêu chuẩn Unicode (gần như) tất cả các ký tự, dấu chấm câu và biểu tượng trên thế giới. Unicode cho phép xử lý, lưu trữ và vận chuyển văn bản độc lập với nền tảng và ngôn ngữ. Mã hóa ký tự mặc định trong HTML-5 là UTF-8. Hầu hết các thư viện không chứa nhiều tài liệu ngoại ngữ sẽ hoàn toàn ổn với định dạng mã hóa ISO8859-1 (còn gọi là Latin-1 hoặc ASCII mở rộng), nhưng nếu bạn có nhiều tài liệu ngoại ngữ, bạn nên chọn UTF- 8 Vì điều đó cung cấp quyền truy cập vào nhiều nhân vật nước ngoài hơn.Thông tin chi tiếtbut in conjunction with an in-document declaration. Thế còn dấu hiệu thứ tự byte? Nếu bạn có nhãn hiệu thứ tự Byte (BOM) UTF-8 khi bắt đầu tệp của bạn thì các phiên bản trình duyệt gần đây ngoài Internet Explorer 10 hoặc 11 sẽ sử dụng để xác định rằng việc mã hóa trang của bạn là UTF-8. Nó có ưu tiên cao hơn bất kỳ tuyên bố nào khác, bao gồm cả tiêu đề HTTP.Bạn có thể bỏ qua khai báo mã hóa Đọc thêm về nhãn hiệu thứ tự byte.
Vậy tôi có nên sử dụng phương pháp này không?Nếu phục vụ các tệp qua HTTP từ máy chủ, việc gửi thông tin về mã hóa ký tự của tài liệu trong tiêu đề HTTP trong tiêu đề HTTP là có vấn đề gì, miễn là thông tin đó là chính xác. Mặt khác, vì những nhược điểm được liệt kê ở trên, chúng tôi khuyên bạn nên luôn luôn khai báo thông tin mã hóa bên trong tài liệu. Một tuyên bố trong tài liệu cũng giúp các nhà phát triển, người thử nghiệm hoặc người quản lý sản xuất dịch thuật muốn kiểm tra trực quan mã hóa tài liệu. . Lưu ý rằng điều này thường có nghĩa là thực hiện hành động để vô hiệu hóa bất kỳ mặc định máy chủ nào.) Làm việc với các định dạng Polyglot và XMLXHTML5: Tài liệu XHTML5 được phục vụ là XML và có cú pháp XML. Trình phân tích cú pháp XML không nhận ra các khai báo mã hóa trong các yếu tố 3 Tuyên bố XML chỉ được yêu cầu nếu trang không được phục vụ là UTF-8 (hoặc UTF-16), nhưng có thể hữu ích khi bao gồm nó để các nhà phát triển, người thử nghiệm hoặc người quản lý sản xuất dịch có thể kiểm tra trực quan việc mã hóa tài liệu bằng cách nhìn vào nguồn. Polyglot đánh dấu: Một trang sử dụng PolyGlot Markup sử dụng một tập hợp con HTML với cú pháp XML có thể được phân tích cú pháp bằng HTML hoặc trình phân tích cú pháp XML. Nó được mô tả trong đánh dấu polyglot: một hồ sơ mạnh mẽ của từ vựng HTML5. A page that uses polyglot markup uses a subset of HTML with XML syntax that can be parsed either by an HTML or an XML parser. It is described in Polyglot Markup: A robust profile of the HTML5 vocabulary. Vì một tài liệu polyglot phải ở UTF-8, bạn không cần phải, và thực sự không phải, sử dụng khai báo XML. Mặt khác, nếu tệp được đọc là HTML, bạn sẽ cần phải khai báo mã hóa bằng phần tử Vì một tuyên bố trong phần tử 7.8 Nếu bạn sử dụng phần tử Bạn nên luôn luôn sử dụng mã hóa ký tự UTF-8. (Hãy nhớ rằng điều này có nghĩa là bạn cũng cần lưu nội dung của mình dưới dạng UTF-8.) Xem những gì bạn nên xem xét nếu bạn thực sự không thể sử dụng UTF-8. Nếu bạn có quyền truy cập vào cài đặt máy chủ, bạn cũng nên xem xét liệu có hợp lý khi sử dụng tiêu đề HTTP hay không.Tôi có nên sử dụng UTF không UTF-16, rõ ràng, hiệu quả hơn cho A) các ký tự mà UTF-16 yêu cầu mã hóa ít hơn để mã hóa so với UTF-8. UTF-8, rõ ràng, hiệu quả hơn cho b) các ký tự mà UTF-8 yêu cầu mã hóa ít hơn để mã hóa so với UTF-16.Là html ascii hoặc utf Cho đến gần đây, Cơ quan đăng ký IANA là nơi tìm tên cho mã hóa. Cơ quan đăng ký IANA thường bao gồm nhiều tên cho cùng một mã hóa. Trong trường hợp này, bạn nên sử dụng tên được chỉ định là 'ưa thích'. Thông số kỹ thuật mã hóa mới hiện cung cấp một danh sách đã được kiểm tra đối với việc triển khai trình duyệt thực tế. Bạn có thể tìm thấy danh sách trong bảng trong phần gọi là mã hóa. Tốt nhất là sử dụng các tên trong cột bên trái của bảng đó. Tuy nhiên, lưu ý rằng sự hiện diện của một tên trong một trong hai nguồn này không nhất thiết có nghĩa là sử dụng mã hóa đó là ổn. Một số mã hóa là có vấn đề. Nếu bạn thực sự không thể sử dụng UTF-8, bạn nên xem xét cẩn thận lời khuyên trong bài viết chọn và áp dụng mã hóa ký tự., however, that the presence of a name in either of these sources doesn't necessarily mean that it is OK to use that encoding. Several of the encodings are problematic. If you really can't use UTF-8, you should carefully consider the advice in the article Choosing & applying a character encoding. Không phát minh ra tên mã hóa của riêng bạn trước Làm việc với các định dạng HTML kế thừaHTML & NBSP; 4.01 không chỉ định việc sử dụng thuộc tính Đối với các trang được dùng làm XML, xem làm việc với các định dạng Polyglot và XML. HTML4: Như đã đề cập ở trên, bạn cần sử dụng Chỉ thị Pragma để phù hợp với HTML & NBSP; 4.01, thay vì thuộc tính XHTML 1.x được dùng dưới dạng văn bản/HTML: Cũng cần Chỉ thị Pragma để phù hợp với HTML & NBSP; 4.01, thay vì thuộc tính XHTML 1.x được dùng dưới dạng XML: Sử dụng khai báo Thuộc tính charset trên một liên kếtHTML5 không dùng nữa việc sử dụng thuộc tính Nó được dự định để sử dụng trên một phần tử liên kết nhúng như thế này: Mã xấu. Đừng sao chép!
Ý tưởng là trình duyệt sẽ có thể áp dụng mã hóa phù hợp với tài liệu mà nó truy xuất nếu không có mã hóa nào được chỉ định cho tài liệu theo bất kỳ cách nào khác. Luôn có vấn đề với việc sử dụng thuộc tính này. Thứ nhất, nó không được hỗ trợ tốt bởi các trình duyệt chính. Một lý do để không hỗ trợ thuộc tính này là nếu các trình duyệt làm như vậy mà không có quy tắc đặc biệt bổ sung thì đó sẽ là một vectơ tấn công XSS. Thứ hai, thật khó để đảm bảo rằng thông tin là chính xác tại bất kỳ thời điểm nào. Tác giả của tài liệu chỉ ra cũng có thể thay đổi mã hóa tài liệu mà không biết. Nếu tác giả vẫn chưa chỉ định mã hóa tài liệu của họ, bây giờ bạn sẽ yêu cầu trình duyệt áp dụng mã hóa không chính xác. Và thứ ba, dù sao cũng không cần thiết nếu mọi người làm theo hướng dẫn trong bài viết này và đánh dấu tài liệu của họ đúng cách. Đó là một cách tiếp cận tốt hơn nhiều. Cách này chỉ ra mã hóa của một tài liệu có mức độ ưu tiên thấp nhất (nghĩa là nếu mã hóa được khai báo theo bất kỳ cách nào khác, điều này sẽ bị bỏ qua). Điều này có nghĩa là bạn cũng không thể sử dụng điều này để sửa các khai báo không chính xác. Làm việc với UTF-16Theo kết quả của một mẫu Google gồm vài tỷ trang, ít hơn 0,01% trang trên web được mã hóa trong UTF-16. UTF-8 chiếm hơn 80% tất cả các trang web, nếu bạn bao gồm tập hợp con, ASCII và hơn 60% nếu bạn không. Bạn rất nản lòng khi sử dụng UTF-16 làm mã hóa trang của bạn. Nếu, vì một số lý do, bạn không có lựa chọn nào khác, đây là một số quy tắc để tuyên bố mã hóa. Chúng khác với các mã hóa cho các mã hóa khác. Thông số kỹ thuật HTML5 cấm sử dụng phần tử Hơn nữa, nếu trang của bạn được mã hóa là UTF-16, không khai báo tệp của bạn là "UTF-16BE" hoặc "UTF-16LE", chỉ sử dụng "UTF-16". Dấu thứ tự byte ở đầu tệp của bạn sẽ cho biết sơ đồ mã hóa là Little-endian hay Big-endian. .little-endian or big-endian. (This is because content explicitly encoded as, say, UTF-16BE should not use a byte-order mark; but HTML5 requires a byte-order mark for UTF-16 encoded pages.) đọc thêm
Mã hóa nào được ưa thích cho các tệp HTML?Bạn nên luôn luôn sử dụng mã hóa ký tự UTF-8. (Hãy nhớ rằng điều này có nghĩa là bạn cũng cần lưu nội dung của mình dưới dạng UTF-8.) Xem những gì bạn nên xem xét nếu bạn thực sự không thể sử dụng UTF-8. Nếu bạn có quyền truy cập vào cài đặt máy chủ, bạn cũng nên xem xét liệu có hợp lý khi sử dụng tiêu đề HTTP hay không.UTF-8 character encoding. (Remember that this means you also need to save your content as UTF-8.) See what you should consider if you really cannot use UTF-8. If you have access to the server settings, you should also consider whether it makes sense to use the HTTP header.
Tôi có nên sử dụng UTF khôngUTF-16, rõ ràng, hiệu quả hơn cho A) các ký tự mà UTF-16 yêu cầu mã hóa ít hơn để mã hóa so với UTF-8.UTF-8, rõ ràng, hiệu quả hơn cho b) các ký tự mà UTF-8 yêu cầu mã hóa ít hơn để mã hóa so với UTF-16.. UTF-8 is, obviously, more efficient for B) characters for which UTF-8 requires fewer bytes to encode than does UTF-16.
Là html ascii hoặc utfTiêu chuẩn HTML5: Unicode UTF-8 Các bao gồm tiêu chuẩn Unicode (gần như) tất cả các ký tự, dấu chấm câu và biểu tượng trên thế giới.Unicode cho phép xử lý, lưu trữ và vận chuyển văn bản độc lập với nền tảng và ngôn ngữ.Mã hóa ký tự mặc định trong HTML-5 là UTF-8.UTF-8
The Unicode Standard covers (almost) all the characters, punctuations, and symbols in the world. Unicode enables processing, storage, and transport of text independent of platform and language. The default character encoding in HTML-5 is UTF-8.
Tôi có nên sử dụng UTF khôngHầu hết các thư viện không chứa nhiều tài liệu ngoại ngữ sẽ hoàn toàn ổn với định dạng mã hóa ISO8859-1 (còn gọi là Latin-1 hoặc ASCII mở rộng), nhưng nếu bạn có nhiều tài liệu ngoại ngữ, bạn nên chọn UTF-8 Vì điều đó cung cấp quyền truy cập vào nhiều nhân vật nước ngoài hơn.if you do have a lot of foreign language materials you should choose UTF-8 since that provides access to a lot more foreign characters. |