Re: Как декодировать url windows-1251?

Andrey Kopeyko andrey на kopeyko.ru
Ср Июн 5 08:52:04 UTC 2019


gont писал 2019-06-05 03:27:
> Есть программа для скачивания файлов updater.exe она обращается на сайт 
> к
> файлу patchlist.xml
> внутри patchlist.xml ссылки на файлы которые на русском языке, файл
> patchlist.xml в кодировке windows-1251,
> файлы не скачивает потому как их не находит на сервере, если поменять
> кодировку patchlist.xml на utf8 то файлы качает,
> но их сохраняет с названиями крякозябры (РЁРёСЂРѕРєР), видел хостинг на
> котором работает всё нормально файл patchlist.xml у них в windows-1251 
> и
> качаются файлы.

Добрый день!

Дабы браузер сохранял файл под нужным вам именем - требуется выдавать 
заголовок "Content-Disposition: ", примерно так

location / {
   root  /path/to/root;
   add_header 'Content-Disposition' 'attachment; 
filename=$filename_utf8';
}

> Что бы всё работало надо как то что бы сервер нормально декодировал url 
> в
> кодировке windows-1251.

"Имя файла в кодировке uft8" -
- вы можете выбирать по пре-геренённой мапе (если файлов небольшое 
количество)
- или перекодировать на лету из имени запрашиваемого файла (используя 
либо встроенные perl, lua, либо получая с бэкенда на любом удобном вам 
языке)


-- 
Best regards,
Andrey A. Kopeyko <andrey at kopeyko.ru>


Подробная информация о списке рассылки nginx-ru