У меня есть файлы на сервере с именами, отличными от ASCII, и когда я просматриваю сгенерированный apache индекс каталога, символы, отличные от ASCII, не распознаются (показаны как?).
Я добавил инструкции в файлы .htaccess:
IndexOptions Charset=UTF-8
Я установил кодировку по умолчанию в файле конфигурации apache2:
AddDefaultCharset UTF-8
и в моем разделе каталога у меня есть:
AllowOverride AuthConfig Indexes
и он все еще не работает, есть другие предложения?
Вы уверены, что имена файлов на вашем сервере закодированы как 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 для короткого теста?