кириллические символы в адресах файлов

Тема в разделе "Администрирование серверов", создана пользователем zilon, 15 авг 2013.

Модераторы: mefish, stooper
  1. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    проблема с кирилическими символами в адресах до файлов, есть страница с треком например http://scooter-vl.ru/89-August-15-2013.html всё запускается и работает но если тыкнуть по ссылке скачать то отдаёт 404 ошибку из за того что кириллические символы в неверной кодировке

    [​IMG]
    но ссылка в исходном коде такая -
    HTML:
    <h2><a href="http://scooter-vl.ru/muzon/club/Клуб RAЙ - Кошмар на улице вязов (Mixed by dj Neele).mp3">СКАЧАТЬ</a></h2>
    а когда кириллических символов нету всё скачивается нормально вот пруф http://scooter-vl.ru/90-August-15-2013.html подскажите пжалуста в чём причина :nezn:
     

    Вложения:

    • nulled.png
      nulled.png
      Размер файла:
      57,3 КБ
      Просмотров:
      90
  2. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.039
    Симпатии:
    2.045
    Один совет - не связывайтесь Вы с ними... Это такой геморой... Особенно с ЧПУ...
    Всё должно работать в UTF-8, к апачу какой-то там патч нужен и т.д. Когда-то была идея сделать домен в зоне РФ и прицепить к нему русскую ЧПУ - решил плюнуть на затею...
     
    zilon нравится это.
  3. Bezhev

    Bezhev

    Регистр.:
    26 дек 2012
    Сообщения:
    362
    Симпатии:
    123
    Должен поддерживать со старта. Лично я, просто установил centos на vds, привинтил апач и всё воркало без проблем.
    страница должна быть в utf-8

    и в .htacces прописать, что-то типа:
    Код:
    RewriteRule ^$([^/]*)$ http://www.site.ru/index.php=$1 [L,QSA]
     
  4. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    тогда геморой с переименовкой треков будет... лучше так, как не будь через mod_rewrite :nezn:
     
  5. cesah

    cesah Постоялец

    Регистр.:
    5 окт 2011
    Сообщения:
    61
    Симпатии:
    6
    Попробуйте в главные php прописать
    Код:
    mb_http_input('UTF-8');
    mb_http_output('UTF-8');
    mb_internal_encoding("UTF-8");
    И, если еще не добавили, в .htaccess
    Код:
    AddDefaultCharset utf-8
     
  6. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    ошибся я категорией думал на пыхе такое не реально сделать но оказалось что можно, буквально двумя строчками

    PHP:
    $track1 rawurlencode(iconv('utf-8''windows-1251'$track));
    $track1 str_replace(".mp3%0D"".mp3"$track1);
    правда треки теперь скачиваются в таком виде http://scooter-vl.ru/muzon/club/%CA...%E7%EE%E2%20%28Mixed%20by%20dj%20Neele%29.mp3 теперь надо как то заменить название скачиваемого трека, на нормальное :-]

    а вот и решение

    PHP:
    $filename="Бородач vs. Duck Sauce - GREYSOUND vs.D-Lime - Dj Half - Барбра Стрейзанд (DJ Marti Swell - DJ Edelweiss Mash-Up).mp3";
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"$filename\"");
    readfile("http://scooter-vl.ru/muzon/club/Бородач vs. Duck Sauce - GREYSOUND vs.D-Lime - Dj Half - Барбра Стрейзанд (DJ Marti Swell - DJ Edelweiss Mash-Up).mp3");
    теперь его надо как то вписать в шаблон полной новости :-]