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

zilon

Постоялец
Регистрация
30 Июл 2011
Сообщения
370
Реакции
146
проблема с кирилическими символами в адресах до файлов, есть страница с треком например Для просмотра ссылки Войди или Зарегистрируйся всё запускается и работает но если тыкнуть по ссылке скачать то отдаёт 404 ошибку из за того что кириллические символы в неверной кодировке

49564

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

Вложения

  • nulled.png
    nulled.png
    57,3 KB · Просмотры: 90
Один совет - не связывайтесь Вы с ними... Это такой геморой... Особенно с ЧПУ...
Всё должно работать в UTF-8, к апачу какой-то там патч нужен и т.д. Когда-то была идея сделать домен в зоне РФ и прицепить к нему русскую ЧПУ - решил плюнуть на затею...
 
Должен поддерживать со старта. Лично я, просто установил centos на vds, привинтил апач и всё воркало без проблем.
страница должна быть в utf-8

и в .htacces прописать, что-то типа:
Код:
RewriteRule ^$([^/]*)$ http://www.site.ru/index.php=$1 [L,QSA]
 
тогда геморой с переименовкой треков будет... лучше так, как не будь через mod_rewrite :nezn:
 
Попробуйте в главные php прописать
Код:
mb_http_input('UTF-8');
mb_http_output('UTF-8');
mb_internal_encoding("UTF-8");
И, если еще не добавили, в .htaccess
Код:
AddDefaultCharset utf-8
 
ошибся я категорией думал на пыхе такое не реально сделать но оказалось что можно, буквально двумя строчками

PHP:
$track1 = rawurlencode(iconv('utf-8', 'windows-1251', $track));
$track1 = str_replace(".mp3%0D", ".mp3", $track1);

правда треки теперь скачиваются в таком виде Для просмотра ссылки Войди или Зарегистрируйся теперь надо как то заменить название скачиваемого трека, на нормальное :-]

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

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");

теперь его надо как то вписать в шаблон полной новости :-]
 
Назад
Сверху