LINUX.ORG.RU

файлообменник + utf8 = ?


0

0

Привет! Хочу настроить простой файлообменник и всё время сталкиваюсь с проблемой кодировки: ни одна из проверенных мной софтин не смогла нормально отобразить русские файлы/папки.

Я пробовал PHP Advanced Transfer Manager, efileman, ffileman, и ещё кучу других левых скриптов на перле и пхп. С английскими именами работают хорошо, а вот русский им неудается.

Дистриб - slackware 11, локаль - utf8.
php - 5.2.3, perl - 5.8.8

В чем там проблема, кто сталкивался?

★★

Кажется, я починил php advanced transfer manager.
Дело было в том, что локаль - utf8, а некоторые пхп-функции неумеют работать с файловыми именами в utf8.

В частности, функция basename().

Я заменил её вызовы на свою my_basename_utf8(), которую определил как

function my_basename_utf8($path)
{
$filename = mb_substr($path, mb_strrpos($path, '/'));
return $filename;
}

заработало))

ierton ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.