Показать полную графическую версию : wget проблемма русских названий
Всем привет, кто нибудь смог победит у wget-а проблему с русскими названиями у файлов и папок? Пересмотрел все ключи, в инете поискал, но пока без успеха.
Пример проблемы приведите.
Сам скрипт:
@echo off
set uri=http://10.24.119.245/!_Download_Files_
set patth1="C:\Install"
for /f "tokens=2 delims=:(" %%i in ('ipconfig /all^|find "IPv4"') do (
for /f "tokens=1-4 delims=. " %%A in ("%%i") do (
IF %%A==10 IF %%B==24 set OTDEL=%%C
)
)
if not exist %patth1% mkdir %patth1%
wget.exe -c -R index.html* -r -l0 -nH -np -N --cut-dirs=2 %uri%/EVERYONE/ -P %patth1%
wget.exe -c -R index.html* -r -l0 -nH -np -N --cut-dirs=2 %uri%/%OTDEL%/ -P %patth1%
exit
При скачке любого файла или папки с русским именем: Папка, Файл.txt
Скачивается с именем: Р%9Fапка, Файл.txt
Кодировку пытался менять в самом скрипте через команду chcp, пытался файл под разной кодировкой сохранять, пробовал разные ключи добавлять которые кому то помогали качать нормально. Но пока не смог найти решения
Q: Не-ASCII символы сохраняются в именах файлов как %D0%A5%D1%83%D0%B9 (или того хуже), хотя локаль юникодная.
A: Укажите ключ --restrict-file-names=nocontrol,unix или --restrict-file-names=nocontrol,windows соответственно.
Если у вас Windows и локаль не юникодная — используйте вариант от Alex_Piggy (http://forum.ru-board.com/topic.cgi?forum=5&topic=10066&start=0&limit=1&m=2#1) с ключом --local-filesystem-encoding=ENCODING, где ENCODING — имя кодировки локали в терминах iconv. Текущую локаль cmd.exe можно проверить при помощи команды chcp. Для русской кириллицы в Windows обычно используется CP866. источник (http://forum.ru-board.com/topic.cgi?forum=5&topic=10066&start=1860#lt)
пробовал, ему пофиг
--restrict-file-names=nocontrol,windows данный ключ пофиг в каком месте среди ключей ставить? или его куда то определенно нужно писать?
--local-filesystem-encoding=ENCODING, данную команду нужно писать как --local-filesystem-encoding=CP866 или я ошибаюсь?
Кстати --local-filesystem-encoding=ENCODING не поддерживается wget, пишет смотри в хелпе список ключей, Хочу уточнить что у меня wget в виде одного exe файла, получается он урезанный по функционалу
как насчет взять тот вгет, на который я дал ссылку?
Сорь не увидел ссылку :(. Скачал Результат тот же.
@echo off
set uri=http://10.24.119.245/!_Download_Files_/
set patth1="C:\Install"
if not exist %patth1% mkdir %patth1%
wget.exe -c -R index.html* -r -l5 -nH -np --local-filesystem-encoding=CP866 %uri% -P %patth1%
::wget.exe -c -E -R html -r -l5 -nH -np %uri% -P %patth1%
exit
Ведь так нужно по идее ключ указать?
Как вариант апачь может быть настроен не так
Цитата Dnivd:
--restrict-file-names=nocontrol,windows »
добавье и попробуйте еще раз
wget.exe -c -R index.html* -r -l0 -nH -np -N --cut-dirs=2 --restrict-file-names=nocontrol,windows --local-filesystem-encoding=CP866 %uri%/_EVERYONE/ -P %patth1%
сделал так эффекта нет. По видимому где то еще косяк, ладно спасиб буду без русского языка делать
mrkomap@twitter
26-10-2015, 10:28
мне помогло --local-filesystem-encoding=Win1251 (без --restrict-file-names=...) и wget по сслыке из поста alv1r (http://forum.oszone.net/post-2328718-4.html)
Foreigner
26-10-2015, 10:41
Дайте реальную ссылку для скачивания с файлом в кириллице.
--restrict-file-names=nocontrol »
Спасибо, на Linux получилось.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC