Итак, имея следующий файл Adán-y-Eva-50x50.jpg
когда я пытаюсь получить к нему доступ, apache переводит его на Ad\xc3\xa1n-y-Eva-50x50.jpg
и не найдет, даже если он существует.
Это происходит только для имен файлов, содержащих символы UTF8.
У меня уже есть следующая конфигурация в моем /etc/httpd/conf/httpd.conf
...
AddDefaultCharset UTF-8
...
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable +Charset=UTF-8
...
И добавил это в свой корень .htaccess
в первой строке:
IndexOptions +Charset=UTF-8
Все это не влияет на загрузку таких файлов. Какие-либо предложения?
Просто упомяну: я запускаю веб-сайты на сервере CentOS с предварительно настроенной панелью plesk
Проблема здесь не в вашем браузере или конфигурации Apache. Вам необходимо дважды проверить языковые настройки вашей системы.
Вам необходимо проверить, работает ли локаль apache с включенным UTF-8. Для этого вы можете запустить команду:
$ sudo su -l -c locale www-data
где www-data
является пользователем apache. Проверьте, не выглядит ли возвращенный языковой стандарт, например, es_ES.UTF-8
это означает, что в вашем регионе не включен UTF-8.
В этом случае вы можете изменить эту конфигурацию на компьютере CentOS по адресу /etc/sysconfig/i18n
, меняя строку LANG="es_ES"
к LANG="es_ES.UTF-8"
. Но, тем не менее, для того, чтобы это работало, вашей системе нужен файл локали для этого языка. Чтобы проверить, существует ли он, используйте locale -a
чтобы получить список доступных языков.
Если в вашей системе нет языкового стандарта с поддержкой UTF-8, вы можете создать его с помощью команды:
$ sudo localedef -i es_ES -f UTF-8 es_ES.utf8
и установите его в качестве языка по умолчанию.
Надеюсь на эту помощь!
В дополнение к ответу fboaventura
Проверьте, запущен ли локаль apache
$ sudo su -l -c locale www-data
Чтобы изменить i18n
конфигурация в /etc/sysconfig/i18n
:
Перейдите в каталог конфигурации системы CentOS.
$ cd /etc/sysconfig
Сделайте резервную копию файла языковых настроек
$ cp i18n i18n.backup
Отредактируйте файл настроек языка с помощью nano
$ nano i18n
Отредактируйте файл, чтобы включить вашу конфигурацию
Например:
LANG="en_US.utf8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="en_US.utf8:en_US:en:fr_FR.utf8:fr_FR:fr :es_ES.utf8:es_ES:es:de_DE.utf8:de_DE:de:sv_SE.utf 8:sv_SE:sv:zh_CN.utf8:
zh_CN:zh:zh_TW.utf8:zh_TW:zh:ja_JP.utf8:ja_JP:ja:k o_KR.utf8:ko_KR:ko"
Сохраните файл и перезапустите систему.
Дополнительные ресурсы