Русское названия скачиваемых файлов

chiffa

Guest
Русское названия скачиваемых файлов

Всем привет! Такая ситуация, в базе лежат именна файлов на русском языке, при попытке скачивания выдает, что файл не найден, хотя путь указан правило, если имя файла на английском все пучком. Как можно организовать скачивание файло с русским названием?
Зарание всем спасибо.
 

chiffa

Guest
tony2001, а подругому никак? Просто хотелось бы что бы пользователь видел русское имя файла (это мп3)
 

tony2001

TeaM PHPClub
ситуация:
у меня в системе дефолтовая локаль - koi8-ru.
дефолтовая кодирова в браузере - cp1251.
в какой кодировке должен интерпретировать браузер имя виндозного файла (изначально в cp866)?
 

SiMM

Новичок
Давать ссылки в [m]urlencode[/m]? Хотя я всё же придерживаюсь мнения tony2001 - проблем явно меньше.
 

Кром

Новичок
Т.е. у тебя имена файлов хранятся на русском языке или как?
 

Кром

Новичок
Ну это никуда не годится, в любом случае. Т.е. тебе нужно их переименовать в ангийские буквы или цифры, а русское имя подставлять во время закачки пользователем файла.
 

chiffa

Guest
Кром, извени не очень понял. Тоесть держать в транслите? А в браузер выводить выводить после обработки? Так?
 

Кром

Новичок
Держать в чем хочешь. Можно в транслите, что бы самому понятно было.
А в базе два поля, одно с настоящим именем файла в системе, лругое с тем именем, которое ты ему дашь во время закачки пользователем.
 

chiffa

Guest
Кром, спасибо за совет.

А можно как то обрабоать урл? (просто не хочеться заново переиминовывать все мп3)...

Вот с таким именем скачивает все пучком: %c0%eb%e8%f1%e0/%c0%eb%e8%f1%e0%20-%20%c4%ee%e6%e4%fc.mp3

А вот такое дает urlencode() %252Fmp3%252F%25D0%25E0%25E7%25ED%25EE%25E5%252FUmaturman%2B-%2B%25CD%25EE%25F7%25ED%25EE%25E9%2B%25E4%25EE%25E7%25EE%25F0.mp3

Может можно както получить верхний вариант?
 

SiMM

Новичок
Ещё один ;)
Разбор адресной строки
Стоп, а зачем применять urlencode к уже urlencode данным? Ты просто размещаешь ссылки на странице, применяя к ним перед выводом urlencode - urlencode'ть приходящие данные не надо - к ним нужно применять [m]urldecode[/m]
 

chiffa

Guest
SiMM, спасибо конечно, но мне оно не как не помогло...
 

gromitus

Новичок
а может хранить кривое имя файла, а при скачке давать хедером красивое имя файла? (ну + ещё хранить например название файла)
в базе храним имя файла - 0001.mp3 и название песни "Крутая песня". И при скачке мы отдаём файл 0001.mp3, а хедером говорим что название файла "Красивая песня"
 

SiMM

Новичок
Автор оригинала: chiffa
SiMM, спасибо конечно, но мне оно не как не помогло...
Читаем внимательно по слогам - urlencode'ть приходящие данные не нужно. urlencode'ть нужно то, что ты отдаёшь пользователю в браузер.
PHP:
echo '<a href="'.urlencode($url).'">Сцылка</a>';
2gromitus, без гарантий, как на это среагируют браузеры - разные браузеры могут среагировать по разному - скорее всего, кто-то возьмёт имя из ссылки, кто-то - из заголовка.
 

chiffa

Guest
gromitus, это немного нето.

После обработки урла скачивает нормально, но почемуто не пишет название файла, типа ".mp3"...

-~{}~ 13.11.04 23:24:

SiMM, да вижу я вижу, чо раньше сказал, что это не то а потом решил попробывать :) Уже скачивает, вот только непонятка с именем получаеться...
 

SiMM

Новичок
Кто не пишет? Обрати внимание на тип файла - проблемы интерфейса браузера к вэб-серверу отношения вообще не имеют ;)
 

gromitus

Новичок
я знаю точно - что файлы на русском языке в интернете - это проблема. Надо отдавать хедером. Все нормальные браузеры это поддерживают - ну а извращенцы обойдутся без мп3.
 

chiffa

Guest
SiMM, собственно да. Опера кидает в имя файл вообще весь урл... А с этим можно как то бороться?

-~{}~ 13.11.04 23:30:

gromitus, хедером, всмысле так
header('Content-Disposition: attachment; filename="bla-bla.php"');
 

SiMM

Новичок
Автор оригинала: gromitus
Все нормальные браузеры
Это осёл-то нормальный браузер?
ну а извращенцы обойдутся без мп3.
Абсолютно неуместная тактика. Я бы ещё понял, если бы это звучало как "а извращенцы обойдутся кривым именем файла".
2chiffa, как бороться - не знаю, попробуй воспользоваться поиском - врядли ты первый, кто с этим столкнулся.

-~{}~ 13.11.04 23:31:

Нет, header('Content-Disposition: attachment; filename="имя_файла.mp3"');
 
Сверху