html - 链接带有重音符号的文件夹中的 .avi 文件时出错

标签 html https internet-explorer-11 mime-types urlencode

我有一个 .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/

相关文章:

html - tr 的 CSS 适用于 jsfiddle,不适用于 html 文件,td 和 table 可以

javascript - 为什么 "ShiftLeft"在 "ShiftRight"被保留时不触发 keyUp 事件,反之亦然?

ios - 加载自己的 ca 证书时,Swift 2.0 中 SecTrustEvaluate 调用上的 EXC_BAD_ACCESS

ssl - FTP over HTTPS 远程服务器文件使用 WEBAPI 上传

nginx - ERR_EMPTY_RESPONSE 与 Ghost 0.7.5、Nginx 1.9、HTTPS 和 HTTP/2

javascript - WebDav(httpFolder 行为,作为 WebDav 文件夹打开)在 IE11 中不再工作 - 什么解决方法?

html - 如何跨越一个按钮?

html - CORS withCredentials XHR 预检不在 Firefox 中发布 Cookie

html - IE 5 和 IE 11 上的 Css 选择框

javascript - 通过 Selenium 和 Java 使用 IEDriverServer 和 Internet Explorer 的 Microsoft Dynamics CRM 中的“XPathEvaluator 未定义”脚本错误