Фильтр и настройка Tomcat для поддержки URI UTF-8 важны только в том случае, если вы передаете через строку запроса URL-адреса, как если бы вы использовали HTTP GET. Если вы используете POST со строкой запроса в теле HTTP-сообщения, важен тип содержимого запроса, и браузер должен установить тип содержимого в UTF-8 и отправить содержимое с этой кодировкой.
Единственный способ действительно сделать это - сообщить браузеру, что вы можете принимать только UTF-8, установив заголовок Accept-Charset для каждого ответа на «UTF-8; q = 1, ISO-8859-1; q = 0,6" . В результате UTF-8 будет считаться лучшим качеством, а кодировка по умолчанию, ISO-8859-1 - приемлемым, но с более низким качеством.
Когда вы говорите, что имя файла искажено, оно искажено в возвращаемом значении HttpServletRequest.getParameter?