gpt4 book ai didi

html - 未能在 HTML 中指定字符集会导致页面定期呈现垃圾信息吗?

转载 作者:行者123 更新时间:2023-11-28 00:13:50 27 4
gpt4 key购买 nike

我们一直遇到页面偶尔呈现为垃圾的问题,在调查该问题的过程中,我发现网站的原始开发人员从未指定字符集或文档类型。

现在,由于大多数站点是在没有文档类型的情况下开发的,并且默认在 IE 中以兼容模式呈现,因此添加文档类型目前是不可能的。但是,我确实指定站点应该使用字符集 ISO-8859-1,希望它可以解决我们遇到的问题。

没有指定字符集会导致这些问题吗?如果是,为什么?

最佳答案

不指定字符编码(charset)意味着浏览器和搜索引擎将不得不猜测。影响差异很大。

例如,如果内容完全是 Ascii 字符,则出现错误行为的可能性很小。然而,即便如此,问题也可能出现。假设我访问了一个没有声明其编码的页面,我必须手动尝试不同的编码并最终选择 UTF-16(不太可能,但可能)。当我访问另一个页面时,只有 Ascii 编码,没有声明其编码,它将使用 UTF-16 显示,这意味着它看起来主要是中文。

一个更常见的问题是,如果文档包含非 Ascii 字符并且浏览器猜错了,您可能会看到各种东西而不是某些字符:小矩形;内部有十六进制数字的小矩形;奇怪的字符组合,如 ä;符号 ;来自不同书写系统的字符(例如,您希望看到拉丁字母的希腊语或西里尔字母;或其他东西。

字符编码与 doctype 声明和怪癖模式(兼容性)几乎没有任何关系,后者更多地与样式、框的尺寸、框的位置等相关。

您应该声明的是页面上使用的实际编码。您可能需要研究创作工具和页面本身来决定它可能是什么。它很可能是 ISO-8859-1,但越来越普遍地将 UTF-8 作为创作软件生成的默认值。您不会在仅包含 Ascii 字符的页面上看到差异。

如果发现编码是ISO-8859-1,还是声明windows-1252比较好。原因是人们实际上可能会生成 windows-1252 编码的页面,例如从某处复制文本时。编码之间的区别在于,windows-1252 在 ISO-8859-1 中为控制字符保留的某些代码位置具有可打印字符(如智能标点符号)——而这些字符(C1 控件)在 HTML 中是不允许的。

关于html - 未能在 HTML 中指定字符集会导致页面定期呈现垃圾信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com