Ссылки на файлы с русским именем

EvilKir

Новичок
Все просто, есть скрипт (писал его не я) взять его можно здесь
Он сканирует содержимое папки и выводит его на экран. На русские имена файлов соответственно генерируются ссылки типа "http://localhost/mp3/%CF%%F0%E0%F1%ED%EE%E5%20%C4%E0%EB%E5%EA%EE/06-AudioTrack%2006.mp3"
Только когда по таким ссылка тычишь - получаешь ошибку от апача "The requested URL /mp3/Ïðèêëþ÷åíèÿ Ýëåêòðîíèêîâ - Ïðåêðàñíîå Äàëåêî/06-AudioTrack 06.mp3 was not found on this server."
 

SiMM

Новичок
> На русские имена файлов соответственно генерируются ссылки типа "http://localhost/mp3/%CF%%F0%E0%F1%ED%EE%E5%20%C4%E0%EB%E5%EA%EE/06-AudioTrack%2006.mp3"
По-моему ты ерунду говоришь. Смотреть надо не то, куда переходит браузер при клике - смотреть надо HTML-код. Потом в спецификацию, чтобы понять, что URL с точки зрения HTTP - невалидный.

Apache какой версии и на какой оси?
 

SiMM

Новичок
> Apache 2.0.53 win32
PHP:
function andromedaEncode ($x) {
  $tmp = rawurlencode(iconv('CP1251','UTF-8',$x));
  $tmp = eregi_replace("%2F","/",$tmp);
  $tmp = eregi_replace("%2E",".",$tmp);
  $tmp = eregi_replace("%2D","-",$tmp);
  $tmp = eregi_replace("%5F","_",$tmp);
  return($tmp);
}
 

EvilKir

Новичок
Заменил. Теперь получаю ошибку Fatal error: Call to undefined function: iconv() со ссылкой на строку
PHP:
	$tmp = rawurlencode(iconv('CP1251','UTF-8',$x));
 
Сверху