html - 链接带有重音符号的文件夹中的 .avi 文件时出错
问题描述
我有一个 .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>
所以我知道如何“修复”它……但是如果我需要所有的 casuistries 怎么办?- 使用 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
推荐阅读
- android - AppCompatDelegate.setDefaultNightMode 使应用程序崩溃
- three.js - 参数化表面入门
- javascript - 如何在单击保存按钮时在输出文本上显示编辑框
- android - ConstraintLayout 宽度 wrap_content 或 0dp
- azure - 尝试创建 docker 容器功能应用程序,当我执行 docker run 时收到错误“未定义存储”
- c# - c#中查找Xmlns命名空间的属性值
- javascript - 如何使用ajax在html下拉列表中显示db的结果?
- eclipse - 在 Eclipse PyDev 工作区中使用虚拟文件夹
- rules - Clips 规则 - 有条件地触发规则
- php - 试图获取非对象的属性“名称”(查看:(...)资源/视图/产品/index.blade.php)