moggucci
Guest
неправильно скачиваются русские файлы с ссылкой rawurlencode($file)
Столкнулся с точно такой же проблемой, что и Maxon по ссылке:
Ссылки на русские файлы
Проблема не была решена.
Итак, проблема:
Необходимо разместить на странице несколько ссылок на файлы, хранящиеся на сервере, с
русскими именами.
Переименовывать файлы в транслит - не предлагать.
Как на страничке, содержащей несколько ссылок на файлы, передать header с заранее предопределенным для браузера названием файла - не представляю.
Пользуюсь следующим кодом:
Ссылки генерируюстся и скачиваются даунлоад менеджером с правильными названиями файлов, а вот эксполрером русские файлы не скачиваются - предлагает сохранить с пустым именем.
При наведении на гиперссылку на файл в строке состояния эксплорера имя файла в абракадабре. Такую же абракадабру, т.е. именно такую же последовательность символов, можно увидеть в самом браузере эксплорер в названии ссылки - в нашем случае совпадает с названием файла, если выбрать кодировку Western European (ISO). В хтмл результате ссылка выглядит например так:
<a href=./files/%C0%EC%E5%E3%E0%20-%20%CB%E5%F2%E0%F2%FC.mp3>Амега - Летать.mp3</a>
Подозреваю, что нужно сделать преобразование кодировок в названии файла из Western European (ISO) в Cyrillic Windows. какие значения параметров нужно передать в iconv?
-~{}~ 21.02.07 16:49:
Короче - эксплорер вместо
Амега - Летать.mp3
видит
Àìåãà - Ëåòàòü.mp3.
Как преобразовать кодировку?
Столкнулся с точно такой же проблемой, что и Maxon по ссылке:
Ссылки на русские файлы
Проблема не была решена.
Итак, проблема:
Необходимо разместить на странице несколько ссылок на файлы, хранящиеся на сервере, с
русскими именами.
Переименовывать файлы в транслит - не предлагать.
Как на страничке, содержащей несколько ссылок на файлы, передать header с заранее предопределенным для браузера названием файла - не представляю.
Пользуюсь следующим кодом:
PHP:
$dir = opendir("../upload");
while($file = readdir($dir)) {
if(($file != ".") && ($file != "..")) {
echo "<a href=./upload/" . rawurlencode($file) . ">" . $file. "</a>";
}
}
closedir($dir);
При наведении на гиперссылку на файл в строке состояния эксплорера имя файла в абракадабре. Такую же абракадабру, т.е. именно такую же последовательность символов, можно увидеть в самом браузере эксплорер в названии ссылки - в нашем случае совпадает с названием файла, если выбрать кодировку Western European (ISO). В хтмл результате ссылка выглядит например так:
<a href=./files/%C0%EC%E5%E3%E0%20-%20%CB%E5%F2%E0%F2%FC.mp3>Амега - Летать.mp3</a>
Подозреваю, что нужно сделать преобразование кодировок в названии файла из Western European (ISO) в Cyrillic Windows. какие значения параметров нужно передать в iconv?
-~{}~ 21.02.07 16:49:
Короче - эксплорер вместо
Амега - Летать.mp3
видит
Àìåãà - Ëåòàòü.mp3.
Как преобразовать кодировку?