Имена русских файлов при загрузке на сервер

Добрый день, уважаемые коллеги

Что делать с русскоязычными именами файлов? Стек: Spring Boot / Java 8. Бэк сохраняет и отдает без проблем русские буквы в именах файлов. Однако при скачивании вместо русских букв все символы заменяются на символ "нижнее подчеркивание"

_

Я понимаю, что по Фен Шую правильно кодировать имя файла хешем, если много файлов раскидывать по папкам с именем например из первых двух букв хэша, а имя файла хранить в БД.

Но проблема в том, что задача заливать с приложения файлы в папку файлообмена, куда имеют доступ напрямую некоторые сотрудники и могут например добавить или удалить файлы в ручную (что не критично). Поэтому раскладываю по папкам с уникальным номером, для каждого события, перед скачиванием с фронта бэк проверяет наличие файлов в этой папке, а базу писать смысла нет, т.к. придется очень очень очень часто переиндексировать базу.

Пробовал прокидывать разные HTTP заголовки при возврате ResponseEntity<Resource> например так, результата нет:

JavaВыделить код

| | |
| --- | --- |
| 1 | response.setHeader("Content-Disposition", "attachment; filename="utf8'ru-ru'"+ResultFileName+""") |

Я так понимаю, что при загрузке файла пробовать конвертировать имя файла в UTF-8 - это глупость, так как зависит от файловой системы.

Может использовать транслитирацию? Буду рад любым идеям, заранее спасибо!