Нашел чуть более элегантное решение: $name = rawur

Нашел чуть более элегантное решение:

$name = rawurldecode(basename(rawurlencode($name)));

Пока работает без нареканий.