LINUX.ORG.RU
ФорумAdmin

Как научить linux декодировать url windows-1251?

 , ,


0

1

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

Содержимое patchlist.xml: <list> <archive filename=«textures\Lobby_terrain_t.utx» checksum=«3356B2BF» original=«88D8A29C» size=«2340547»/> <archive filename=«Дополнительно\Активное окно\system\l2ui.dll» checksum=«8DD5C631» original=«48EC41DC» size=«3072»/> <archive filename=«Дополнительно\Анти AGP\system\D3DDrv.dll» checksum=«88C3D3F4» original=«C7673732» size=«1277972»/> <archive filename=«Дополнительно\Стандартная анимация хилов и гидро бласта\system\skillgrp.dat» checksum=«05A9549C» original=«9B279B4D» size=«162610»/> </list>

Файл должен оставатся в кодировке windows-1251. Может кто сталкивался и может подсказать как заставить linux обрабатывать url в кодировке windows-1251?


Дело не в линуксе, а в сервере. Виндоус уже работает с utf-8, далеко на легаси вы не уедете.

Мне кажется у вас представление некорректное, это ваше приложение криво запрашивает данные когда сервер ждёт что будет юникод (файлов с крякозябрами там нет). Когда оно запрашивает нормально, оно потом не может сохранить файл нормально потому что ему для сохранения нужна кривая кодировка. Можно либо исправить приложение, либо получить имена в cp1251 на сервере. Установите старую виндоус на сервер мб не знаю. Либо транслируйте имена в недокодировку когда сервер отдаёт файлы.

linuxnewbie
()

Сорян, а при чём тут linux? Я вижу тут какой-то updater.exe, dll-ки с русскими путями в xml, который в cp1251, а gnu/linux не вижу в упор.

Кстати, меня всегда интересовал вопрос: а зачем делать русские пути и пути с пробелами? Ладно, я понимаю, что много людей не задумываются про zip с cp1251 и про то, что пробелы в путях в консоли заставляют переходить либо на ls |while read file; do обработать $file; done, либо на xargs вместо лаконичной конструкции ./*, но много сугубо виндового, хорошо там укоренившегося софта тоже ведь с этим особо не дружит.

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

ls |while read file;

Ты бы держал при себе советы свои.

anonymous
()

А указать в этом же xml кодировку? Например <?xml version="1.0" encoding="windows-1251"?>

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.