我有一个.avi文件,它位于我的服务器的一个文件夹中。此文件夹的名称带有重音标记。问题是,当我将这个文件放在一个标记中时,它显示了一个txt文件(我认为是avi文件的编码),这显然是一个错误。这只会发生在使用https协议的Internet Explorer (至少是版本11 )中。
这不会发生在mp4文件中,也不会发生在位于“非重音文件夹”中的avi文件中,也不会发生在http协议中,也不会在浏览器中直接粘贴地址,也不会使用Chrome或Firefox。
举个例子来说明我想说的:
<a href="https://myserver.com/myAccentédFolder/myVid.avi" target="_blank">ERROR</a>
<a href="https://myserver.com/myNonAccentedFolder/myVid.avi" target="_blank">OK 1</a>
<a href="https://myserver.com/myAccentédFolder/myVid.mp4" target="_blank">OK 2</a>
<a href="http://myserver.com/myAccentédFolder/myVid.avi" target="_blank">OK 3</a>所以我知道如何“修复”它…-使用IE11-文件为.avi -文件夹为重音标记-地址为链接内的地址-地址为https协议
%$&$%是怎么回事?
发布于 2019-10-21 01:30:54
一个好的做法是不要在链接中使用重音,如果你必须的话,这样的字符应该以ASCII代码字符串的形式给出,以保持与浏览器和爬虫程序的兼容性。否则,您可以预期它并不总是像您所希望的那样工作。
在HTML5标准的UTF-8中,%C3%A9等同于é,因此您的锚点标记应如下所示:
<a href="http://myserver.com/myAccent%C3%A9dFolder/myVid.avi" target="_blank">OK 3</a>请注意,浏览器将在地址栏中将%C3%A9更改为é (如果浏览器支持)
你可以在这里找到许多非标准字符的等价物:https://www.w3schools.com/tags/ref_urlencode.asp
https://stackoverflow.com/questions/58335434
复制相似问题