У меня есть приложение Java, развернутое на веб-сервере Glassfish на ПК с Ubuntu Server Edition.
Одна из служб, которые должно предоставить это приложение, - это смонтировать образ ISO в определенную папку и скопировать все содержимоеэта папка в другое место назначения.
Поскольку, как только мой метод Java нашел имя файла кириллицы, произошел сбой.Это имя файла отображается как «???????????????. Txt» в журналах приложений сервера.
Сначала я подумал, что это проблема Linux, поскольку этот файл некорректно отображался втерминал также.После того, как я добавил язык CP1251, проблема в терминале Linux решена, но мое приложение все равно выдало ошибку.
Один парень из UbuntuForums (http://ubuntuforums.org/showthread.php?t=1813920) предложил мне преобразовать этот плохой файл с помощью утилиты "convmv", но этоВывод утилиты говорит, что этот файл уже был UTF-8.
После этого я создал тестовое приложение с теми же методами и запустил его на том же ПК, но так же, как «java Test $ arguments $».
И это сработало!
Простой метод System.out.println правильно отобразил имя файла и успешно скопировал файл проблемы в другую папку.
Этот факт не оставил меня равнодушнымвыбор, но требовать от Glassfish разрыва между моим классом, java и linux (хотя я не уверен, насколько это возможно).
Есть ли какие-либо специфические настройки кодировки символов в Glassfish, которые я мог бы исправить, чтобы исправить эту ошибкуили, может быть, я что-то упустил, и проблема на самом деле не существует?
Заранее спасибо!
Андрей