我有一个.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>
所以我知道如何“修复”它……但是,如果我需要所有的容器怎么办?-使用IE 11-文件为.avi-带有重音符号的文件夹-链接内的地址-地址为https协议
%$&$%发生了什么?
优良作法是不要在链接中使用重音符号,如果必须的话,应将这些字符作为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