HTML5页面语言、方向和编码

9

如何正确声明HTML5页面为希伯来语、RTL和utf-8编码?我已经有一段时间没有这样做了,但我记得在HTML4中,需要使用3或4个标签和属性,这些标签和属性看起来很冗余。现在还是这样吗?

4个回答

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

5
希望补充说明的是,字符编码元标记应该是您文档中第一个元标记。想象一下,如果您先用希伯来语字符声明了文档标题。某些用于获取和解析文档的工具将以错误的编码解析您文档的标题,导致字符串处理不一致。这是英语所没有遇到的问题。 - ChuckE

9
你需要以下内容:
  1. 使用 <!doctype html> 来指示你的页面是HTML5。
  2. 使用带有以下属性的 <HTML> 标记:
    • dir="rtl"
    • lang="he"
      注意:你可以省略引号,或者使用单引号代替。
  3. 使用 <meta> 标记来声明字符编码。你可以选择以下之一:
    • <meta charset="UTF-8">
      注意:你可以省略引号,或者使用单引号代替。
    • <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      这是声明字符编码的“遗留”方式。它仍然在HTML5中允许使用,但所有现代浏览器都支持第一种方式,因此没有必要使用此方式。
      注意:你可以省略 http-equiv 属性的引号,或者对所有属性使用单引号代替。
    • 如果浏览器遇到一个UTF-8字节顺序标记,它将把一个HTML5文件视为UTF-8格式。这发生在任何使用 meta 标记声明的字符编码之前。

这里使用的所有标记、属性和属性值,以及 DOCTYPE 都不区分大小写。

注意:如果浏览器遇到字符编码声明,它将重新解析从指定编码开始的文档。你可以把你的编码放在一个 Content-Type HTTP 头中,这样就不会有问题了。

另外需要注意的是,浏览器只会在文档的前1024个字节中查找字符编码声明。


2
关于可能被省略的引号:如果你编写一个解析器,应该预期到引号可能会丢失。而如果你编写一个文档或文档生成器,真正需要包含引号。 - Rasmus Kaj

2
您需要以下内容才能创建一个语言为希伯来语,方向为RTL,并使用UTF-8编码的HTML5页面: <!DOCTYPE html> 用于声明为HTML5页面 <html dir="rtl" lang="he"> 用于设置方向和语言 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 用于设置utf-8编码。

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


不要: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

在 "Chrome" 和 "Firefox" 浏览器上无效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接