Недавно обнаружил проблему, странную....
Если пользуем filefield и имя загружаемого файла начинается с русского слова отделенного пробелом, то это первое слово пропадает при загрузке на сервер!
Например "ГОСТ 103-76 ПОЛОСА СТАЛЬНАЯ ГОРЯЧЕКАТАНАЯ.doc" превращается в "103-76 ПОЛОСА СТАЛЬНАЯ ГОРЯЧЕКАТАНАЯ.doc"
Если слово начинается с английских букв, то все ОК. Кто знает, чтобы это значило??
Друпал 6.19, FileField -- последний, ImageField не включен. Активированы модули транслитерации и pathauto, но она не используются для закачки файлов.
Комментарии
по моему трансоитерация не работает
есть модуль называется Транслитерация называется поставил и забыл про все проблемы с русскими буквами в именах файлов.
есть и только он сейчас меня спасает. )
НО есть ситуации, когда необходимо, чтобы файлы с сервера скачивались с русскими именами, пробелам и всяким таким прочим. что в это ситуации то делать? (
Сделать русскую операционную систему
Сделать русский веб-сервер
Сделать русский интернет
Сделать русский браузер
Дополнить русским RFC
не глумись, пожалуйста. русские имена файлов, иногда, действительно требуются!
ну вот нужно чтобы скачиваемый файл назывался "ГОСТ 801-78 сталь подшипниковая.pdf" и все.
так как "gost_801-78_stal_podshipnikovaya.pdf" -- это уже не ГОСТ.
конструктивные идеи?
p.s. к слову, совершенно непроизвольно пришла на ум идея как можно красиво сократить сабж в цитате – РуссОСи
Я не спорю, но в наших реалиях, русские имена файлов только лишняя мозговая и жопная боль. Максимум что я могу предложить, сделать враппер для скачки, чтобы файлы отдавались через пхп, т.е. например, ты пишешь модуль, ссылки на файлы заворачиваешь на него, например путь будет пусть
site.com/russian-name-cool-turbo-download/ГОСТ 801-78 сталь подшипниковая.pdf
У тебя это всё превратиться в
site.com/russian-name-cool-turbo-download/%D0%93%D0%9E%D0%A1%D0%A2%20801-78%20%D1%81%D1%82%D0%B0%D0%BB%D1%8C%20%D0%BF%D0%BE%D0%B4%D1%88%D0%B8%D0%BF%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F.pdf
Далее ты пхп-скриптом отдаёшь заголовки где указываешь русское имя и передаёшь контент.
Возрастёт нагрузка на сервант.
Но может и приватный метод загрузки файла в друпале спасёт.
Включи "Описание" для загружаемых файлов в настройках поля + оставь транслитерацию имени файла. В итоге ты получишь цивилизованное с точки зрения сервера латинское имя файла, а сама ссылка будет выглядеть так, как ты забьешь ее в описании.
Т.е загружая файл "ГОСТ 801-78 сталь подшипниковая.pdf" на сервер у тебя ляжет файл "gost_801-78_stal_podshipnikovaya.pdf", а на странице сайта, где должна выводиться ссылка на эту pdf-ку будет красивая ссылка к примеру "Скачать ГОСТ 801-78 сталь подшипниковая"
Так сейчас и работает, но есть заказчики, которым нужно чтобы русские буквы были в имени скачиваемого фала. Вот где проблема. )
Заархивируй файл. Архив пусть будет "gost_801-78_stal_podshipnikovaya.zip", файл как был так и останется "ГОСТ 801-78 сталь подшипниковая.pdf". Заказчики архиватором умеют пользоваться, надеюсь.
хм.. это приемлемый выход. спасибо!
Еще может спасти атрибут "download" в теге ссылки, но он введен недавно и друпалом еще не поддерживается, нужно дописывать.
Пример.