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

从历史上看,许多自我宣传为
ISO-8859-1(Latin-1)编码的网页实际上包含
Windows-1252编码中的内容(这是Latin-1的严格超集).

这足以解决浏览器更新其行为以将所有Latin-1文本视为Windows-1252的问题.然后将此行为合理化为HTML5 [draft] standard.

我正在编写一组页面,我想在其中显示两种编码之间的区别,但这似乎是不可能的,因为我的Latin-1页面实际上从未被视为Latin-1.在任何浏览器中,有什么办法可以实际强制页面编码得到尊重并显示演示?

最佳答案 我担心没有直接的办法.我认为Opera曾经有一个选项,它的当前版本有一个选项(通过opera:config)强制一个特定的编码,覆盖HTTP头和所有,但即使在那里,iso-8859-1实际上意味着Windows-1252.我也检查了Opera版本5和9,没有运气.

但是使用当前版本的Opera(12.02),您可以通过View→Encoding设置编码,并在“Western”设置中(其中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中是不允许的,但通常被浏览器忽略.

点赞