HTML 问题,奇怪的字符替换了 HREF 引号

HTML Issue, strange characters replacing HREF quotes

我是 HTML 编码新手。我这学期正在学习网页设计入门课程,但我的 HREF 部分遇到了困难。我有一个 table 的目录页面,引用了我整个学期的所有项目。

这包括指向我的项目的直接链接,我应该能够在其中嵌入我的 index.html 文件以及指向我的新项目的链接。但是,每当我尝试使用链接到我的新项目的引号更新 HREF 段时,它会在引号所在的位置吐出奇怪的字符。

错误示例如下所示。

**The requested URL /“http://userid.myweb.usf.edu/project1/index.html“ was not found on this server.**


<li>This link goes to <a href=“http://userid.myweb.usf.edu/project1/index.html“>Project1</a></li>

我看到很多人提到它是 UNICODE8 问题,但我不知道那是什么意思。如果有人可以提供帮助,我将不胜感激,因为我的教授并不是最擅长回复我们的人。

您的 <a> 标签使用 引号字符(Unicode 代码点 U+201C LEFT DOUBLE QUOTATION MARK)。 HTML 需要 " 引用字符(代码点 U+0022 QUOTATION MARK)。

<li>This link goes to <a href="http://userid.myweb.usf.edu/project1/index.html">Project1</a></li>

一些编辑器,尤其是专为编辑文档而非 HTML 而设计的文字处理器,在您键入 时会使用 而不是 "" 或来自其他应用程序的 copy/paste 文本,所以要小心。使用专为编辑 HTML 而设计的文本编辑器,或者至少是普通的普通文本编辑器,例如 NotePad/NodePad++,它不会重新解释输入的字符。


以下是 “ 含义的细分:

您在 HTML 中输入的 Unicode (U+201C) 字符以 UTF-8 编码为字节 E2 80 9C.

当这些相同的字节在 Windows-1252 字符集(西方国家大多数 Windows 系统使用的默认字符集)中解释时,字节 E2 是 Unicode 代码点 U+ 00E2(â),字节80是代码点U+20AC(),字节9C是代码点U+0153(œ)。

当以 UTF-8 编码时,代码点 U+00E2 是字节 C3 A2,代码点 U+20AC 是字节 E2 82 AC,代码点 U+0153 是字节 C5 93

在Windows-1252中,字符“是字节C3 A2 E2 82 AC C5 93.

看着眼熟?

您将 HTML 文件保存为的字符集与您的网络浏览器将 HTML 解释为的字符集不匹配。您的 HTML 被保存为 UTF-8,但被解码为 Unicode mis-interpretted 为 Windows-1252 而不是 UTF-8,re-encoded 为 UTF-8,然后显示为Windows-1252.

如果您通过 HTTP 提供 HTML 文件,请确保 HTTP 服务器在 Content-Type HTTP header 中报告正确的 charset=UTF-8 属性。

您还可以(并且应该)添加一个 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 标签(如果使用 HTML4)或 <meta charset="UTF-8"> 标签(如果使用 HTML5) =71=] 本身(当通过 HTTP 服务时,网络浏览器需要给予实际的 Content-Type HTTP header 更高的优先级)。

确保报告的 charset 在所有情况下都与您将 HTML 文件保存为的实际字符集匹配。