HTML 的默认字符编码是什么?

Cha*_*son 5 html character-encoding

出于某种原因,html 端的纯文本字符显示为–. 我能想到的唯一原因是字符编码。我的猜测是它是 utf-8,但不确定我是如何得到奇怪的字符的。 有解释吗?

我的默认意思是如果charset没有指定。

Jon*_*nna 6

这当然看起来像 UTF-8 被解释为其他东西。

HTML 没有默认值。它是从传输协议(通常是 HTTP)的标头中获取的,或者从 BOM、meta元素或在 XHTML 的情况下,从 XML 声明中获取。在没有任何这些的情况下,用户代理会猜测。

HTTP 的默认值为 ISO-8859-1,甚至一个 HTML 规范都将其描述为“被证明是无用的”[来源](他们甚至没有考虑到大量内容被标记为 ISO-8859- 1 实际上是 CP-1252)。

因此。忘记默认值,始终设置您的 HTTP 标头元元素(以防它保存为文件)。

并且始终以 UTF-8 格式执行。在这个时代,任何其他事情都只是一种自虐行为。


pow*_*uoy 4

!DOCTYPE设置字符编码,meta元素和(新标准化的)属性一起charset设置。如果不存在,我不完全确定浏览器如何确定编码。

我相信您遇到的问题是您的页面以一种编码保存并以另一种编码提供。

只需确保您设置<meta charset="utf8"/>并确保您的文档实际上是 utf8 并且它应该可以工作。