Войти

Показать полную графическую версию : [решено] По нажатию по ссылке для скачивания файла в браузере кракозябы


SashaKl
17-05-2009, 18:05
Сайт пишется в программе Joomla 1.5.10, которая установлена на локальном сервере Apache 2 (набор для web-разработчика Denver 3, который включает в себя Apache 2 + SSL, PHP 5, MySQL 5, phpMyAdmin). По нажатию по ссылке для скачивания файла в браузере кракозябы. В Html коде сайта я прописываю ссылку вида: <a href="compprice.rar">Скачать прайс</a> Сам файл compprice.rar лежит в директории "Z \home\localhost\www\moysite", в той же директории, что и файл index.php, то есть должен скачиваться.

Исходный html код я просматривал в браузере - все нормально, ссылка такая какая я и прописал. Но при ссылке скачать открывается страница и выводится что-то типа: Rar!Пђsм$t Ђ*ҐOB™”еG$. Я копировал адресс ссылки и вставлял ее в DownLoad Master. Он закачивал файл, но при сохранении писал что файл является html страницой, сохранить как html? В чем проблема - не знаю, подскажите пожалуйста. Может нужно ссылку прописывать как-то по-другому для сайта написанном на php? Спасибо.

dima1981
17-05-2009, 18:37
SashaKl, Попробуй прописать путь к файлу полностью и на странице с Rar!Пђsм$t Ђ*ҐOB™”еG$ » кодировку в браузере переставить но это не факт, только как вариант, на самом деле мне кажется это в confige сервера т.е. апача что то, щас подскажет кто разберается, думаю

Котяра
17-05-2009, 19:33
SashaKl, сервер отдает файл как HTML, на деле это *.rar. Надо настроить сервер (увы, как - не знаю - далек от этого дела) или использовать другой формат архива *.exe или *.zip

FRZ
17-05-2009, 22:03
SashaKl, на ссылке нужно ПКМ сохранить как ... ;)

Sham
17-05-2009, 22:30
видимо апач редиректит через mod_rewrite или Redirect (там какая то схема скачивания хитрая), и дело в кодировке имени html-файла...

dima1981
17-05-2009, 23:43
дело в кодировке имени html-файла » это как это понять, подскажи пожалуйста

Sham
18-05-2009, 00:09
значит имя файла в той кодировке, которую не поддерживает апач (обычно имена дб в UTF-8)... крякозябры - это имя файла, как его понял сервер...

там сначала надо разобраться в схеме скачки (куда редиректит, и что там должно быть)... обычно находится в файле .htaccess или конфиге сервера...

proxy
18-05-2009, 00:14
Денвер не перенастраивали? По дефолту нормально настроен, фигову тучу времени на нем тестю, все должно работать праивльно.
Только что проверил у себя, один-в один как вы описали - dm отлично распознал принимаемый файл как rar.

Выложите ваш index.php что ли.......

Rar!Пђsм$t Ђ*ҐOB™”еG$ - это м все? может там еще много таких же кракозябр?
Попробуйте потестить в других браузерах.

SashaKl
18-05-2009, 18:15
Я разместил файл "music.mp3" вместо "compprice.rar", соответственно в ссылке тоже исправил название и расширение файла. Попробовал скачать - все отлично скачивается. Истина где-то рядом. Может что то в настройках сервака прописывается или где-то в настройках Joomla какие типы файлов разрешено скачивать с сервера, а какие нет? Как я понял здесь дело в расширении файла.

Потом попробовал расположить там архив "corpus.zip" и опять ничего не получилось. Только на этот раз сервер написал что такого файла не существует в данной директории. Вот скриншот: http://forum.oszone.net/attachment.php?attachmentid=26418&stc=1&d=1242657477 Сервер я скачивал с официального сайта Denver. Настройки дефолтные оставил.

dima1981
18-05-2009, 19:21
Конечно хорошо разобраться в чем суть, но можа при таком желании не денвером заниматься, но скачать понормальному апач, пшп, майадмин, муйскл и разбераться с чистого листа, вот кстати хорошая ссылка с инструкцией по установке http://php-myadmin.ru/learning/instrument-intro.html

Sham
18-05-2009, 19:38
SashaKl, выложите .htaccess из корня, там редиректы мб прописаны (если конфиг не правили)...

Igor_I
18-05-2009, 19:47
Исходный html код я просматривал в браузере - все нормально, ссылка такая какая я и прописал. »
Надо было смотреть заголовки, которыми обмениваются сервер и клиент.

SashaKl
21-05-2009, 18:47
Долго я мучился и наконец-то мне удалось!!! Причина оказалась в том, что Joomla создает ячейки и структуру своей базы данных в кодировке utf-8, а в Denver по умолчанию кодировка cp1251_general_ci. Вот и получалась несовместимость. Пришлось удалять базу данных и делать все заново, создавать все базы данных в кодировке utf-8 и utf-8_bin зато получил полезный урок. Спасибо всем.




© OSzone.net 2001-2012