1

我正在使用 Fork CMS,当上传文件名中包含特殊字符(例如 é 或 à)的文件时,文件名(présentation.pdf)在 FTP 上保存为 pr%c3%a9sentation.pdf。

当您使用后端链接到文件时,URL 显示为http://www.domain.com/files/pr%c3%a9sentation.pdf,但几乎所有浏览器都将您链接到http://www.domain。 com/files /présentation.pdf 这会导致 http 404 错误。

关于我应该在哪里寻找的任何建议?

4

5 回答 5

3

尝试像这样访问它:http: //www.domaine.com/files/pr%25c3%25a9sentation.pdf

但是您应该在保存文件名之前从文件名中删除重音字符,这样可以避免任何问题。

于 2012-08-03T14:51:01.387 回答
2

确保您的 FTP 服务器和 FTP 客户端都遵守 RFC 2640,以便它们使用 UTF-8 编码而不是 ASCII。ASCII 不支持非英文字符,包括带有重音符号的字符。有关详细信息,请参见此处: http ://wiki.filezilla-project.org/Character_Set


更新

我猜“FTP”是指服务器上的存储空间,而不是通过文件传输协议上传文件。如果文件正在通过 Fork CMS 上传并且上传文件的文件名变为 pr%c3%a9sentation.pdf,则 Fork CMS 没有正确处理文件名。

于 2012-08-03T14:57:02.990 回答
1

最后一个答案是真的。
但是如果你想强制它,用 %25c3% 替换第一个 % 并删除第二个。

于 2012-08-03T14:55:58.717 回答
1

If the file has a % in the name, urlencoded you must do %25 to reproduce the same % character. So pr%25c3%25a9sentation.pdf will translate into pr%c3%a9sentation.pdf which is the name of the file.

A sane solution would be stripping special characters from file names and respect the Internet File Naming Convention instead of trying to circumvent a problem that shouldn't be there in the first place.

Side note: I'm french so don't tell me presentation isn't as readable as présentation.

于 2012-08-03T14:58:20.953 回答
1

This problem has been solved in the latest Fork CMS releases, by using CommonUri::uri()

于 2015-01-23T12:46:20.647 回答