Вопросы к Поиску с Алисой
Функция basename() в PHP учитывает региональные настройки. www.php.net Чтобы она могла правильно обработать имя пути с многобайтовыми символами, необходимо установить локаль, которая соответствует этим символам, с помощью функции setlocale(). www.php.net
Если имя пути содержит символы, которые не соответствуют текущей локали, то поведение basename() может быть непредсказуемым. www.php.net
Также есть информация, что при работе с многобайтовыми именами в формате UTF-8 функция basename() удаляет все нелатинские символы до первого латинского символа или знака препинания, но последующие нелатинские символы сохраняются. stackoverflow.com