Назад | Перейти на главную страницу

Нераспознанные символы в сгенерированном индексе каталога

У меня есть файлы на сервере с именами, отличными от 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 для короткого теста?