Драйвер передает в UTF-8, увидев ваш комментарий к строке подключения.Поля таблицы базы данных, вероятно, также указаны в UTF-8 (проверьте это).
Итак, у вас есть нормальная строка Unicode в Java.Проверьте это по дампу String.getBytes("UTF-8")
.Знак вопроса не должен отображаться.
В веб-приложении необходимо установить кодировку перед использованием Writer.В противном случае вы получите такие квестовые оценки.Другие возможные ошибки: String.getBytes()
(кодировка ОС по умолчанию), Writer для FileOutputStream, использующий StreamOutputStream, также без кодирования.