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 文件保存为的实际字符集匹配。
我是 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 文件保存为的实际字符集匹配。