目录生成的索引中存在无法识别的字符

目录生成的索引中存在无法识别的字符

我在服务器上有一些非 ASCII 名称的文件,当我浏览 apache 生成的目录索引时,无法识别非 ASCII 字符(显示为?)。

我在.htaccess 文件中添加了说明:

IndexOptions Charset=UTF-8

我已经在 apache2 conf 文件中设置了默认字符集:

AddDefaultCharset UTF-8

在我的目录子句中,我有:

AllowOverride AuthConfig Indexes

但它仍然不起作用,还有其他建议吗?

答案1

您确定服务器上的文件名是使用 UTF-8 编码的吗?

如果您有较旧的文件并且居住在欧洲(就像我一样),则您的文件名很可能采用 ISO8859-1(有时也称为 latin-1)或 ISO8859-15 编码。Debian(以及 Ubuntu)曾经包含一个名为的软件包:

utf8-migration-tool 

其中包含一个类似于向导的实用程序来转换文件名。
此工具是用脚本语言 Python 编写的。它包含一个名为的模块:

/usr/share/utf8-migration-tool/pylib/wizard/steps.py

它又包含一个名为

FileNameConversion

不幸的是,这个类需要重构才能用于操作文件系统某个部分的文件名。您是否想先将 Apache 配置更改为 ISO8859-1 进行简短测试?

相关内容