Добрый день. Имеем русскую винду и Reporting для построения отчетности, firefox 63.0.3
Названия отчетов в системе написаны на русском языке и при их сохранении в файл, туда автоматом проставляется их название.
на IE файлы сохраняются с корректным названием, в Firefox названия выводятся вот в таком виде:
%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F %D0%BE%D0%B1 %D0%BE%D0%B1%D1%8A%D0%B5%D0%BC%D0%B0%D1%85 %D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%B0 %D1%8D%D1%82%D0%B8%D0%B.xls
Файлы с такими большими названиями не открываются MS Excel.
понятно, что в последствии их можно руками поправить, но хочется выгрузить изначально в правильном виде. проблема точно в браузере, поскольку в других браузерах все ок.
Может кто встречался и знает как это исправить.
Отсутствует
к сожалению нет. изменение параметра не помогло
Отсутствует
Добрый день! Точно такая же проблема, в Интернете и на форуме решения не нашел. С какой версии началось - точно сказать не могу, но раньше все работало как надо. Как сделать так, чтобы названия файлов на русском при сохранении не менялись на «%D0%9F%D1%80%D0%B8%D0%BA%D0%B0%D0%B7%20»? При использовании декодера, преобразование происходит из URL-encoded в UTF-8.
Отсутствует
Да, в последних версиях FF данная проблема имеется: файлы с русскими символами сохраняет в URLEncoded (пример: %C3%E8%E1%EA%E8%E9+%E8%ED%F2%E5%F0%E2%E0%EB%FC%ED%FB%E9+%F2%E0%E9%EC%E5%F0+1.5.7.apk)
Данная проблема разработчикам известна, поэтому для копирования ссылок из адресной строки (с русскими символами) в FF есть специальная настройка, которую упоминали выше: browser.urlbar.decodeURLsOnCopy
Такая же настройка нужна (а может и есть) для имен файлов.
Кто может подсказать: есть ли такая настройка для нормального сохранения имен файлов, либо как эффективнее всего пинать разработчиков чтобы данную проблему пофиксили?
Отсутствует
Да, в последних версиях FF данная проблема имеется: файлы с русскими символами сохраняет в URLEncoded
Во всяком случае это не везде. По большей части это вина тех кривых рук, что делали сайт. Скинь ссылку где такой файл можно найти.
Как костыль подойдет Download Filename Encoding
Отсутствует
Скинь ссылку где такой файл можно найти.
Ну, к примеру, 4PDA (вроде не самый последний сайт в инете): https://4pda.ru/forum/index.php?s=&show … =103443734
при этом у других браузеров (под рукой был Vivaldi) таких косяков нет - имя файла сохраняет как пложено
PS: костыль как ни крутил - не помогает. Что там нужно в настройках (для виндузы 10) выставить? Кодировки перепробовал разные: windows-1251, cp866, UTF-8 - не помогает
Отредактировано Vasilich (21-01-2021 15:09:46)
Отсутствует
PS: костыль как ни крутил - не помогает. Что там нужно в настройках (для виндузы 10) выставить? Кодировки перепробовал разные: windows-1251, cp866, UTF-8 - не помогает
Не работает оттого что кириллица закодирована в кодировке windows-1251 (ох уж эта тавтология), а не знает как ее декодировать. Отсюда и неправильное имя файла при скачке. А так как расширение использует для декодирования встроенную функцию для этих целей, то и получаем в результате что расширение не может выполнить свою функцию. Как оказалось - это расширение бесполезно.
Можете самостоятельно убедиться в том что не умеет обрабатывать такие "хитрые" ссылки, открыв консоль (ctrl + shift + k) и введя там:
(здесь кириллица закодирована в кодировке windows-1251)
decodeURI("https://4pda.ru/forum/dl/post/21907905/%C3%E8%E1%EA%E8%E9+%E8%ED%F2%E5%F0%E2%E0%EB%FC%ED%FB%E9+%F2%E0%E9%EC%E5%F0+1.5.7.apk");
А вот если бы кириллица была закодирована в кодировке UTF-8, то без проблем бы ее декодировал:
decodeURI("https://4pda.ru/forum/dl/post/21907905/%D0%93%D0%B8%D0%B1%D0%BA%D0%B8%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80%201.5.7.apk");
Причем форум в обоих случаях понимает ссылку и дает скачать файл.
А вот теперь вопрос на мильон: это баг ? Или это проблема форума/сайта, ввиду того, что они не следуют стандартам?
Оставил сообщение на их багтрекере по этому поводу
Отредактировано zzzephire (22-01-2021 00:23:29)
Отсутствует
кириллица закодирована в кодировке windows-1251 (ох уж эта тавтология), а не знает как ее декодировать.
Ну так это же явный косяк. Текст на странице умеем декодировать из 1251, а из имени файла не знаем как?
Учитывая, что на том же 4PDA файлы в других браузерах сохраняются корректно - почему FF это не делает?
Тот же сайт 4PDA по-честному везде выставляет заголовки content-type text/html; charset=windows-1251
почему FF ожидает UTF-8 ??
Отсутствует
Исходя из этого сообщения 56.0 умел так делать (см. прикрепленное изображение). А потом, видимо, решили следовать всей строгости ECMAScript (там говорится только о кодировках UTF). Трудно это назвать косяком так как они, вроде, стараются следовать стандартам.
Отсутствует
так как они, вроде, стараются следовать стандартам.
неудачное они место выбрали для следования стандартам...
И при чем здесь стандарт на ECMAScript? Речь то не о программировании на этом языке, а про приём файла по протоколу HTTP.
И куда теперь писать, чтобы они вспомнили что такое web вообще и как там к стандартам относятся?
Отсутствует
И при чем здесь стандарт на ECMAScript?
Разрабы опираются на спецификации этого стандарта в реализациях функций (decodeURI, decodeURIComponent, encodeURI, encodeURIComponent и др.). Этими функциями пользуются дополнения и сам браузер.
Речь то не о программировании на этом языке, а про приём файла по протоколу HTTP
С HTTP у всё в порядке, он работает как и должен. В спецификациях HTTP нет требований по конвертациям кодировок имен файлов. Этим уже занимается другая программная прослойка уровнем выше (см. ↑)
Отсутствует