Мои изображения, имена которых содержат буквы с диакритическими знаками (é, à и т. Д.), Недоступны через Apache (ошибка 404).
Думаю, это не связано с Apache. Я проверил файл конфигурации:
AddDefaultCharset UTF-8
Когда я подключаюсь через Putty и запускаю команду «ls -la» для вывода списка изображений, буквы с диакритическими знаками заменяются на «?» в консоли.
Вот соответствующая информация, которая может помочь:
> echo $LANG en_US.UTF-8 > cat /etc/environment empty file > locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL=
Я нашел несколько руководств, но они применимы к Centos 5/6.
PS: Переименование файлов - возможное решение, но не предусмотренное в моем случае.
Наконец я решил проблему
Я установил convmv и выполнил следующую команду в папке изображений:
// -r => recursively // --notest => don't show me the potential outcome, do convert filenames // -f => from // -t => to convmv -r --notest -f iso-8859-15 -t utf8 images_folder
Эта проблема связана с файлами, которые были созданы в среде Windows, а затем загружены на сервер Centos.
Я создал файл прямо в Centos с диакритическими буквами в имени файла, и он без проблем был указан в Putty.
cd images_folder touch étude.png ls -la // file étude.png listed without any problem
Первый @Simohammedhttc: Вы используете правильные имена! Пожалуйста, не прибегайте к переименованию файлов. Сейчас 2016 год. У нас есть все доступные технологии, чтобы никому не приходилось кастрировать некоторые имена файлов только потому, что они не английские.
Настройки локали выглядят нормально. Тот факт, что у шпатлевки есть проблема с отображением символов, отличных от ASCII (то есть с отображением?), Может быть полностью проблемой шпатлевки. В наши дни не использую шпатлевку, но я помню, как поигрался с настройками шпатлевки, чтобы сделать это правильно.
Я только что проверил, что моя текущая CentOS 7 с радостью будет обслуживать этот URL-адрес умлаута через Apache2:
http://<server>/äöü.txt
Текстовый файл снова содержит те же умляуты. Браузер (Safari) говорит, что кодировка UTF-8. Помещение этого в некоторый HTML также работает:
<a href="äöü.txt">äöü.txt</a></td>
<a href="%c3%a4%c3%b6%c3%bc.txt">äöü.txt</a>
Пожалуйста, попробуйте получить доступ к изображениям напрямую, вставив URL-адрес изображения в адресную строку браузера.
Если это сработает, проверьте, как создаются ссылки на изображения. Взгляните на источник: