我有一个带有空格的 URL,其中#
我使用它来转义URI::Escape
以获取以下内容。
https://copy.com/1rsdM7TvVcLfGebc/name%20with%20space%20and%20%23%20in%20it.jpg ?
注意:在我复制上述内容的原始页面中,单击链接不起作用。该页面的 HTML 显示在此处。
<a href=3D"https://copy.com/1rsdM7TvVcLfGebc/name%20with%20space%20and%20%23=
%20in%20it.jpg?source=3Dbsf" style=3D"color: white; font-weight: =
bold;">name with space and # in it.jpg</a>
如您所见#
,正确编码为%23。问题是当我单击链接时,浏览器不会将其保留为%23而是将其编码#
并阻止我到达目的地。这就是链接在浏览器中的外观。您可以看到,在#
空格也没有呈现为%20之后。其他浏览器的行为不同,它们都不起作用。
https://www.copy.com/s/1rsdM7TvVcLfGebc/name%20with%20space%20and%20# in it.jpg
当我在浏览器中手动替换#
为%23并正确按下输入时,它会将我带到页面。
这里发生了什么?