Приложение My Play Framework 2.7, работающее за прокси-сервером Apache.Приложение предоставляет функциональные возможности для загрузки файлов и сохраняет исходное имя файла в базе данных MySQL (при переименовании исходного файла в случайный UUID).
Контент подается в браузер как UTF-8 с <meta charset="utf-8">
тег заголовка.База данных MySQL - InnoDB с кодировкой utf-8.
При получении файла в бэкэнде я использую такой код для получения имени файла (в соответствии с рекомендациями Play docs):
request.body.file("file").map { file =>
val fileName = Paths.get(file.filename).getFileName.toString
...
}
Если я загружаю файл с именем «Skärmavbild.png», «ä» правильно кодируется и сохраняется в базе данных, если файл загружен через Safari.Однако, если файл загружен через Chrome или Firefox - имя файла становится «Ska? Rmavbild.png».Chrome и Firefox протестированы как на Mac, так и на Windows.
Эта ошибка не возникает в режиме разработки, когда я запускаю приложение без прокси.
Пожалуйста, посоветуйте, как решить проблему с кодировкой.