网站中的外国字符

时间:2011-01-22 15:09:20

标签: html character-encoding

我找到了一个包含字符串“don't”的网站。明显的意图是“不要”这个词。我看着源代码希望看到一些字符引用,但没有(它只是显示文字字符串“不要”。谷歌搜索没有产生任何东西(期望很多其他网站有同样的问题!)。有谁解释这里发生了什么?

编辑:这是使用的元标记:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

这会不会导致页面在HTTP标头中作为Latin-1提供?

4 个答案:

答案 0 :(得分:5)

在浏览器中,将页面编码切换为“UTF-8”。您看到的是right single quote character,它由UTF-8中的八位字节0xE2 0x80 0x99编码。在你的charset,windows-1252中,这3个八位字节呈现为“—。该页面应该在HTTP标头或HTML <meta>标签中明确指定UTF-8作为其字符集,但它可能不是。

答案 1 :(得分:1)

根据维基百科中的Character encondings in HTML文章:

  

HTML(超文本标记语言)有   自1991年以来一直在使用,但HTML 4.0   (1997年12月)是第一个   标准版本在哪里   给出了国际字符   合理完成治疗。当一个   HTML文档包含特殊内容   超出范围的字符   七位ASCII两个目标是值得的   考虑:信息   诚信,以及通用浏览器   显示。

我认为您检查过的网站并未考虑到这一点。

答案 2 :(得分:1)

这与编码有关。回顾一下源代码,顶部是否有标签(charset)?我的猜测是它将是UTF8 - 虽然它可能是完全不同的东西。

答案 3 :(得分:1)

This thread explains all。尽管页面具有UTF字符(甚至可能正确报告其自己的编码),但在可能将其编码报告为非UTF-8的服务器上使用奇怪的UTF-8撇号字符(可能源自Word文档)的组合)。