LINUX.ORG.RU

Товарищ перенес сайт на новый хостинг - что-то дикое стало с именами файлов

 ,


0

1

Один мой товарищ, ниразу не программер, перенес сайт на другой хостинг. На предыдущем хостинге проблем не было. На новом, в принципе, все работает, за исключением файлов с русскими символами.

В чем это выражается. На диске файлы видны с правильными именами. Во всяком случае, при коннекте по SSH при локали

$ locale
LANG=ru_RU.UTF-8

все имена файлов видны правильно.

Но. Имеем такую страницу: http://atmosferstudio.ru/site/page/index/samples

Там прямые ссылки прямо на MP3-файлы. Нажимаем, к примеру на А.Григоров «Пилотаж», следует переход по URL:

http://atmosferstudio.ru/db/data/audio/А.Григоров_Пилотаж_.mp3

и ни Firefox, ни Konqueror не могут этот файл вопроизвести.

Выделяю URL, копирую в буфер обмена. Firefox засовывает в буфер URL-encode строку:

http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%9F%D0%B8%D0%BB%D0%BE%D1%82%D0%B0%D0%B6_.mp3

и пытаюсь скачать через wget:

wget "http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%9F%D0%B8%D0%BB%D0%BE%D1%82%D0%B0%D0%B6_.mp3"
--2015-10-17 23:45:51--  http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%9F%D0%B8%D0%BB%D0%BE%D1%82%D0%B0%D0%B6_.mp3
Распознаётся atmosferstudio.ru (atmosferstudio.ru)… 81.177.135.62
Подключение к atmosferstudio.ru (atmosferstudio.ru)|81.177.135.62|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 9879769 (9,4M) [audio/mpeg]
Сохранение в: «\320%90.\320%93\321%80иго\321%80ов_\320%9Fило\321%82аж_.mp3»

�%90.�%93�%80иго�%80ов_�%9Fило�%82а 100%[==================================================================>]   9,42M   636KB/s   за 15ss

2015-10-17 23:46:07 (632 KB/s) - «\320%90.\320%93\321%80иго\321%80ов_\320%9Fило\321%82аж_.mp3» сохранён [9879769/9879769]

Видно, что имя файла превращается в кашу. Появляются какие-то дикие спецсимволы в результирующем имени файла. На диске полученный файл выглядит так:

$ ls -l
итого 46052
-rw-r--r-- 1 xi xi 9879769 авг 25 15:44 ?%90.?%93?%80иго?%80ов_?%9Fило?%82аж_.mp3

И с незакодируемым URL-ом "http://atmosferstudio.ru/db/data/audio/А.Григоров_Пилотаж_.mp3" та же проблема, если попытаться его скачать через wget.

Вопрос. Чья это может быть проблема? Апача? PHP? Файловой системы? Браузера? Где какие настройки смотреть чтобы исправить?

★★★★★

ну и...какая кодировка в апаче? с поддержкою чего собран рнр?

Файловой системы?

ну тут уж скорее на локали в ядре и системе смотри

darkenshvein ★★★★★
()
Ответ на: комментарий от darkenshvein

ну и...какая кодировка в апаче?

Там шаред хостинг. Похоже, что какой-то RedHat. Выйти из каталога пользователя не могу, зато смог запрыгнуть напрямую в /etc. Каталога apache/apache2 нет, есть каталог httpd, но в него зайти не могу.


с поддержкою чего собран рнр?

Набери /phpinfo.php сразу после домена.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Хм, у меня заиграл в Chrome.

Неужели, это траблы Firefox и Konqueror? Нет, но wget тоже тупит.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от anonymous

У меня играет.

А wget у тебя качает? Покажи вывод плиз.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от darkenshvein

Кста, покажи плиз тоже вывод wget при закачке «пилотажа».

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea
wget http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%9F%D0%B8%D0%BB%D0%BE%D1%82%D0%B0%D0%B6_.mp3
--2015-10-17 23:58:27--  http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%9F%D0%B8%D0%BB%D0%BE%D1%82%D0%B0%D0%B6_.mp3
Resolving atmosferstudio.ru... 81.177.135.62
Connecting to atmosferstudio.ru|81.177.135.62|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9879769 (9.4M) [audio/mpeg]
Saving to: '\320%90.\320%93\321%80\320\270\320\263\320\276\321%80\320\276\320\262_\320%9F\320\270\320\273\320\276\321%82\320\260\320\266_.mp3'

�%90.�%93�%80иго�%80ов_�%9F 100%[==========================================================>]   9.42M  2.68MB/s   in 3.5s

2015-10-17 23:58:31 (2.68 MB/s) - '\320%90.\320%93\321%80\320\270\320\263\320\276\321%80\320\276\320\262_\320%9F\320\270\320\273\320\276\321%82\320\260\320\266_.mp3' saved [9879769/9879769]
FIL ★★★★
()
Ответ на: комментарий от Xintrea

Вобщем, с сайтом все в порядке. Почитай man wget:

~> wget --restrict-file-names=nocontrol http://atmosferstudio.ru/db/data/audio/А.Григоро>       <
--2015-10-17 21:16:59--  http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%94%D0%BE%D1%80%D0%BE%D0%B3%D0%B0_%D0%BA_%D0%BC%D0%BE%D1%80%D1%8E__.mp3
Resolving atmosferstudio.ru (atmosferstudio.ru)... 81.177.135.62
Connecting to atmosferstudio.ru (atmosferstudio.ru)|81.177.135.62|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7501689 (7.2M) [audio/mpeg]
Saving to: `А.Григоров_Дорога_к_морю__.mp3'

100%[========================================================>] 7,501,689   1.76M/s   in 5.1s

2015-10-17 21:17:05 (1.40 MB/s) - `А.Григоров_Дорога_к_морю__.mp3' saved [7501689/7501689]

gh0stwizard ★★★★★
()
Ответ на: комментарий от thesis

Походу дела, все же локальные проблемы Linux. Как минимум у меня и у FIL.

Что-то не могу нигде найти другого сайта с кириллическим файлом, чтобы на нем посмотреть что к чему.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от gh0stwizard

Ага, с --restrict-file-names=nocontrol получилось. Но только с незакодированным именем.

А с этой опцией и с кодированным именем закачка вообще не идет.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

4.2

Ты просто опечатался.

wget по барабану какой url ты ему подсовываешь, так или иначе для запроса он сделает преобразование.

~> wget --restrict-file-names=nocontrol --save-headers http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%B*
--2015-10-17 21:36:10--  http://atmosferstudio.ru/db/data/audio/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%97%D0%B2%D0%B5%D0%B7%D0%B4%D0%BE%D0%BF%D0%B0%D0%B4_.mp3
Resolving atmosferstudio.ru (atmosferstudio.ru)... 81.177.135.62
Connecting to atmosferstudio.ru (atmosferstudio.ru)|81.177.135.62|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9488154 (9.0M) [audio/mpeg]
Saving to: `А.Григоров_Звездопад_.mp3.3'

100%[========================================================>] 9,488,154   1.83M/s   in 6.1s

2015-10-17 21:36:16 (1.48 MB/s) - `А.Григоров_Звездопад_.mp3.3' saved [9488154/9488154]

Лучше внимательно прочитай man wget, а не пытайся получить результат абы как.

gh0stwizard ★★★★★
()
Последнее исправление: gh0stwizard (всего исправлений: 1)
Ответ на: комментарий от thesis

Попробовал на другом серваке.

Вывод: это одновременно тупят и Firefox, и Konqueror, и wget.

Возможно, это связано с моим недавним переходом на Debian 8 Jessie. Раньше таких феерических глюков небыло.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea
http://blog.gh0stwizard.tk/downloads/%D0%90.%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D0%BE%D0%B2_%D0%97%D0%B2%D0%B5%D0%B7%D0%B4%D0%BE%D0%BF%D0%B0%D0%B4_.mp3
http://blog.gh0stwizard.tk/downloads/А.Григоров_Звездопад_.mp3

Играйся.

gh0stwizard ★★★★★
()
Ответ на: комментарий от Xintrea

У меня нету никаких проблем, у меня вообще os x :-)

FIL ★★★★
()
Ответ на: комментарий от thesis

Картина понятна. Благодарю всех.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Nietzsche

На винде --restrict-file-names=nocontrol не исправит ошибку, в отличии от линукса.

4.2, костыли wget'а работают кроссплатформенно. Или имелось в виду что-то другое?

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 1)

wget говно, проверяй чем-то другим либо попытайся осилить ман к нему и вызывай с костылями для нормальных имён.

h578b1bde ★☆
()
Ответ на: комментарий от h578b1bde

У меня сейчас нет возможности протестить на винде работоспособность этого костыля, поэтому - хз, может и работает. Я опирался на месагу из этого обсуждения.

If you are using Windows, --restrict-file-names=nocontrol still gives garbage (the utf-8 characters are treated as if they were in latin1).

Nietzsche
()
Ответ на: комментарий от Nietzsche

Только что проверил GNU Wget 1.16.1 из состава cygwin на Windows XP, файл с именем Памятник_затопленным_кораблям_в_Севастополе.JPG сохранило нормально. Возможно сыграли роль какие-то опции компиляции или патчи, накладываемые ими при сборке. Но даже в этом случае дефолтное поведение и сам по себе костыль для нормальной работы с юникодом с непредсказуемым поведением в различных ситуациях — говно.

h578b1bde ★☆
()

а что ты хотел, ты же в линухе пользуешься нотпадом через вайн, конечно у тебя вообще всё будет работать таким-же кривым образом

q11q11 ★★★★★
()
Ответ на: комментарий от Xintrea

Ага, не у одного меня значит так.

не забывай про локаль консоли и то как она может в разных кодировках рисовать

q11q11 ★★★★★
()
Ответ на: комментарий от q11q11

Не нотпадом, а Faredit. В новых версиях Wine что-то окончательно разломали, и пользоваться им стало невозможно. Хорошо что допилили KWrite до более-менее юзабельного состояния:

Как я искал текстовый редактор под Linux - цикл из трех статей

У него, правда, не работает запоминание позиции курсора для редактируемых файлов, что напрягает. Но это не повод писать собственный редактор, хотя я уже готов был это сделать.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Как я искал текстовый редактор под Linux - цикл из трех статей

зря ты сюда это вбросил, тем более что народ много тем назад этот бред уже обсуждал

q11q11 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.