强制浏览器将ISO-8859-1显示而不解释为Windows-1252。

4

历史上,很多声称使用 ISO-8859-1 (Latin-1) 编码的网页实际上包含了 Windows-1252 编码的内容(这是 Latin-1 的严格超集)。

这个问题非常严重,以至于浏览器更新了它们的行为,将所有 Latin-1 文本视为 Windows-1252。这种行为随后被纳入了 HTML5 [draft] 标准

我正在编写一组页面,希望展示这两种编码之间的区别,但由于我的 Latin-1 页面实际上从未被视为 Latin-1,所以这似乎是不可能的。在任何浏览器中,是否有任何方法可以强制执行页面编码并显示演示文稿?

1个回答

3
恐怕没有直接的方法。我曾以为Opera有这个选项,它的当前版本也有一个选项(通过opera:config)来强制使用特定的编码,覆盖HTTP头等,但即使在那里,iso-8859-1实际上意味着windows-1252。我也检查了Opera的5和9版本,但仍然没有运气。
但是,在使用当前版本的Opera(12.02)时,您可以通过查看→编码来设置编码,并在“西方”集(其中iso-8859-1通常意味着windows-1252)中选择iso-8859-15会导致忽略130-159(十进制)字节的范围在显示中无效,不像windows-1252一样显示。因此,这更或多或少地意味着将数据视为真正的iso-8859-1——当然,iso-8859-1和iso-8859-15差异很小的图形字符采用后者。
从技术上讲,这些字节表示iso-8859-1中的C1控件,并在上述模式下,Opera实际上将它们视为这种方式进行处理。它们在HTML中被禁止,但通常被浏览器忽略。

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