2012-10-11 32 views
9

Cách chính xác để khai báo trang HTML5 là bằng tiếng Hebrew, RTL và utf-8 được mã hóa là gì? Tôi đã không thực hiện nó trong một thời gian, nhưng tôi nhớ rằng trong HTML4 nó tham gia 3 hoặc 4 thẻ và các thuộc tính mà dường như dư thừa. Nó vẫn như cũ sao?Ngôn ngữ trang HTML5, hướng và mã hóa

Trả lời

10
<html dir="rtl" lang="he"> 
    <head> 
    <meta charset="utf-8"> 
    ... 
    </head> 
    ... 
</html> 
+5

muốn thêm rằng điều quan trọng là thẻ meta mã hóa ký tự là thẻ meta đầu tiên từ tài liệu của bạn. Hãy tưởng tượng bạn khai báo tiêu đề tài liệu trước với các ký tự đại diện. Một số công cụ được sử dụng để tìm nạp và phân tích cú pháp tài liệu sẽ phân tích cú pháp tiêu đề tài liệu của bạn bằng mã hóa sai, dẫn đến sự không nhất quán về xử lý chuỗi. Đây là một vấn đề mà tiếng Anh không bị ảnh hưởng. – ChuckE

2

Bạn cần những để tạo ra một trang HTML5 với ngôn ngữ như hebrew, hướng như RTL, và utf-8 mã hóa

<!DOCTYPE html> Đối với tuyên bố nó như là một trang HTML5

<html dir="rtl" lang="he"> Đối với hướng và ngôn ngữ

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Đối với utf-8

10

Bạn cần những điều sau đây:

  1. A <!doctype html> để cho biết trang của bạn là HTML5.
  2. Một <HTML> thẻ với các thuộc tính sau:
    • dir="rtl"
    • lang="he"
      Lưu ý: bạn có thể bỏ qua các ", hoặc sử dụng ' để thay thế.
  3. Thẻ <meta> để khai báo mã hóa ký tự. Bạn có thể chọn một trong các cách sau:
    • <meta charset="UTF-8">
      Lưu ý: bạn có thể bỏ qua các ", hoặc sử dụng ' để thay thế.
    • <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Đây là cách "kế thừa" để khai báo mã hóa ký tự. Nó vẫn được cho phép trong HTML5, nhưng tất cả các trình duyệt hiện đại đều hỗ trợ biến thể đầu tiên vì vậy không cần thiết cho điều này.
      Lưu ý: bạn có thể bỏ qua các " cho thuộc tính http-equiv hoặc sử dụng ' thay cho tất cả các thuộc tính.
    • Nếu trình duyệt gặp một dấu thứ tự byte UTF-8, nó sẽ xử lý tệp HTML5 dưới dạng UTF-8. Điều này xảy ra bất kể mã hóa ký tự nào được khai báo bằng cách sử dụng các thẻ meta.

Không ai trong số các thẻ, thuộc tính và giá trị sử dụng ở đây thuộc tính, hoặc DOCTYPE, là trường hợp nhạy cảm.

Lưu ý: nếu trình duyệt gặp phải khai báo mã hóa ký tự, nó sẽ phân tích cú pháp tài liệu ngay từ đầu bằng mã hóa được chỉ định. Bạn có thể đặt mã hóa của mình bên trong tiêu đề HTTP Content-Type vì vậy đây không phải là vấn đề.

Cũng lưu ý rằng trình duyệt sẽ chỉ tìm kiếm khai báo mã hóa ký tự trong đầu tiên 1024 byte của tài liệu.

+2

Giới thiệu về những trích dẫn có thể bị bỏ qua: Nếu bạn viết một trình phân tích cú pháp, bạn nên kỳ vọng rằng dấu ngoặc kép có thể bị thiếu. Nếu bạn viết một tài liệu hoặc một trình tạo tài liệu, bạn thực sự nên bao gồm các dấu ngoặc kép. –

0
<html dir="rtl" lang="he"> 


không: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Không hoạt động trên "Chrome" và "Firefox" trình duyệt.

Các vấn đề liên quan