![]() |
Не качается рускоязычная ссылка.
Проблема такая, допустим есть ссылка http://lalala.ru/файл.doc, нажимаем на нее, а броузер пишет:
не найден файл /htdocs/ взае.doc Как сделать так, чтобы ссылка на сервер приходила в нормальном виде, а не в виде закорючек... :help: ??? |
|
Сервак не понимает кириллицу, переименуй файло.
|
Stasik
броузер опера boor а как сделать, чтобы он понял кирилицу? |
Цитата:
А по поводу как сделать то это уже к админам сервака. |
попробуй IE/FF возможно это глюк браузера
%f4%e0%e9%eb.doc такая конструкция работает? |
Stasik
нет, тоже не работает, если поставить кодировку в utf8, то браузер правильно отображает имя файла, но все равно, говорит, что такого не найдено... Если латинские буквы, то все нормально... В осле тоже самое... :( |
Stasik
Работать в принципе будет если Это Winserv а если unix то я сомневаюсь. Хотя теоретически вроде можно сделать так что б unix понимал кириллицу. Я могу и ошибаться |
Тхе_накед
хттп://апаче.леха.ру/маил-арчиве/мсг04073.хтмл мучай админа, а сообще, брось.... русские буквы не нужны... Ж) |
русские ссылки нада перекодироwать w утф8 ... потому как нормальные браусеры передают так wсе что в адресной строке .... поекспериментируй с соотwетстwуюшими функциями ... тwоя ссылка яwно перекодируецца w юникод ... может быть изза кодироwки на странице кстати ... мда, wообше правильно, дело ето неблагодарное ... лутче при загрузке меняй имя фаила в латиницу ....
|
а как можно броузеру не прямую ссылку дать, а ссылку на скрипт, который будет выдавать сам файл. Интересует именно скрипт...
|
www.domain.ru/download.php
а там <?php // We'll be outputting a PDF header('Content-type: application/pdf'); // It will be called downloaded.pdf header('Content-Disposition: attachment; filename="downloaded.pdf"'); // The PDF source is in original.pdf readfile('original.pdf'); ?> (C) PHP.NET ;) |
Цитата:
|
Используй mime_content_type
|
Al-x
А можно как-нибудь сделать, чтобы она файл с русскими буквами не в utf8 приводила, а в win-1251, например... |
Не очень понял в чём собственно на данный момент состоит проблема. Перекодировку строки из UTF-8 в win-1251 можно произвести (например) такой функцией:
PHP код:
|
проблема, как я понимаю, в следующем:
- браузер шлет запрос на файл абв.doc - шлет он его в юникоде как %f4%e0%e9.doc - апач добросовестно пытается найти файл "%f4%e0%e9.doc" (но НЕ "абв.doc"!) - не найдя его, честно рапортует - "файла нет, облом-с" http://apache.lexa.ru/notes.html#russianfiles - тут кое-что накопал... но реально решение видится таким - запрос на файл получать скриптом, в скрипте декодировать ютф8 в вин1251 (или кои8, как там они лежат на винте) [как написал Al-x], и только потом скриптом же отдавать файл обратно. а вообще - лучше указать это как фичу ;) "Не используйте русского в именах файлов!" |
| Часовой пояс GMT +4, время: 23:51. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.