我已将图像导入到我自己的服务器中。许多文件名之一包含 %20
,例如50128%202789%20001V%20500.jpg
。但是浏览器将其视为 50128 2789 001V 500.jpg
,因此不会显示该图像。
我可以使用什么解决方案来正确显示图像?
最佳答案
“%20”是空格的百分比编码,在 URL 中具有特殊含义。基本上,您不能在 URI 或 URL 中使用空格,并且必须用代码替换它们以符合规则。读取 URL 的事物(例如服务器)将其翻译回来。
不幸的是,这意味着如果您有一个包含此序列的文件名,它将被误认为是百分比编码的空格,正如您所看到的。
解决方案是对“%”也进行百分比编码。 “%”字符的百分比编码是“%25”。
在您的示例中,名称“50128%202789%20001V%20500.jpg”必须编码为“50128%25202789%2520001V%2520500.jpg”,以便这些“%”字符不会被误认为空格。
当然还有其他的东西被编码。规则在 the URI specification 中定义。 .
关于.htaccess - 文件名中的 %20,浏览器会看到空格。如何避免这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16950556/