如何在 Apache 服务器上访问带有重音符号(显示为?)的文件名?

如何在 Apache 服务器上访问带有重音符号(显示为?)的文件名?

我管理一个基于目录列表的网站(dessin.acswift.com)。

该网站是法语的,许多网址都含有重音符号

/leçon 1 - identification & vocabulaire.html

我希望能够使用 SSH 和 SFTP 以及 Mac 上的终端在网站上工作。

问题是,当我通过 SSH/SFTP 连接到服务器时,上面的地址变成:

/le?on 1 - identification & vocabulaire.html

ç 变成了 ?。

比如,当我想通过 SFTP 将文件传输到:

le?on 4 - origine, terminaison & action

我不知道如何通过 CD 转到我想要的目录——我无法以服务器能够识别的方式输入 ç 字符。星号通配符有时会有所帮助,但并非总是如此。

有没有办法使用 UTF-8 字符的 SSH/SFTP?

[更新]这里是语言环境的输出(我的本地计算机可以正确显示重音):

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

Apache 服务器无法识别 lang 或 locale。

答案1

我发现,使用“sshfs”在本地挂载远程位置比尝试让“sftp”做正确的事情(在许多情况下是徒劳的)更容易处理远程文件。作为额外的好处,您可以保留 shell 的制表符补全,甚至可以编辑远程文件而不必来回复制它们。

您确实说过您的本地机器可以很好地识别这些名称,所以我猜 sshfs 可以解决问题。

相关内容