我有一个 .avi 文件,它位于我服务器的一个文件夹中。此文件夹的名称带有重音符号。
问题是,当我将该文件放在标签中时,它会显示一个 txt 文件(我认为是 avi 文件编码),这显然是一个错误。它只发生在使用 https 协议(protocol)的 Internet Explorer(至少版本 11)中。
mp4 文件、位于“非重音文件夹”中的 avi 文件、http 协议(protocol)、直接将地址粘贴到浏览器、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>
所以我知道如何“修复”它……但是如果我需要所有的 casuistries 怎么办?
- 使用 IE 11
- 文件为.avi
- 有重音符号的文件夹
- 链接中的地址
- https协议(protocol)的地址
%$&$% 发生了什么?
最佳答案
好的做法是不要在链接中使用重音符号,如果必须,这些字符应该作为 ASCII 代码字符串给出,以保持与浏览器和爬虫的兼容性。否则,您可以预期它不会总是按您的意愿工作。
在 HTML5 标准的 UTF-8 中 %C3%A9 相当于 é ,因此您的 anchor 标记应如下所示:
<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
关于html - 链接带有重音符号的文件夹中的 .avi 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58335434/