是否需要在HTML链接中编码字符?

时间:2010-11-16 10:40:08

标签: html encoding hyperlink

我应该编码网址中包含的字符吗?

示例:

<a href="http://google.com?topicId=1&pageId=1">Some link using &</a>

<a href="http://google.com?topicId=1&amp;pageId=1">Some link using &amp;</a>

3 个答案:

答案 0 :(得分:1)

在HTML(包括XHTML和HTML5,据我所知),所有属性值和标记内容should be encoded:

  

作者也应该使用“&amp; amp;”在属性值中,因为在CDATA属性值中允许字符引用。

答案 1 :(得分:-1)

取决于如何提供和识别您的文件。

对于XHTML,是的,这是必需的。

对于HTML,不,这是不正确的。

答案 2 :(得分:-1)

在Web编程中,为了不同的目的,有两种不同的编码方式,很容易混淆。

要显示为HTML的文本中的特殊字符需要编码为HTML实体。这特别是'&lt;'等字符它是HTML标记的一部分,但如果对要使用的字符编码有任何疑问,它也可能对其他特殊字符有用。

网址中的特殊字符需要进行网址编码(替换为%nn代码)。

将HTML实体放入URL中没有任何害处,如果它被接收到的任何东西都被视为HTML文本;但如果它是程序指令的一部分(例如&amp;用于在CGI查询字符串中分隔参数),则不应对其进行编码。