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

时间:2012-08-28 16:34:28

标签: html character-encoding

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

默认情况下,我指的是未指定charset

3 个答案:

答案 0 :(得分:2)

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

我认为您遇到的问题是您的网页以一种编码方式保存,并在另一种编码中提供。

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

答案 1 :(得分:2)

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

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

HTTP的默认值为ISO-8859-1,甚至一个HTML规范描述为“已证明无用”[source](他们甚至没有进入大量输出的事实标有ISO-8859-1的实际上是CP-1252)。

因此。忘记默认值,始终将您的HTTP标题设置为元素(如果它保存为文件)。

并且始终以UTF-8为准。在这个时代,任何其他事物都只是一种受虐狂。

答案 2 :(得分:-1)

我使用Eclipse for PHP提供的默认值,并且没有遇到任何问题:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>