Последовательность вопросительных знаков типична, когда ни кодировка БД, ни кодировка ответа HTTP не могут принять полученные байты для кодировки, которую было поручено использовать.
Так как вы установили кодировку страницы в UTF-8, часть кодирования ответа HTTP в порядке (при условии, что все, что вы сделали, это поместили <%@page pageEncoding="UTF-8" %>
поверх JSP).
Итак, кодировка БД подозрительна. Вы должны убедиться, что БД проинструктировано использовать правильную кодировку для хранения символов. Вы должны делать это в CREATE DATABASE
и CREATE TABLE
заявлениях. С некоторыми драйверами JDBC вам также необходимо передать дополнительный аргумент в строке соединения JDBC, чтобы указать кодировку, в которой передаются байты. Подробная информация зависит от используемой БД и драйвера JDBC, поэтому вам необходимо проконсультироваться с соответствующими руководствами. Если вы застряли, обновите свой вопрос, указав использованную марку / версию БД.
Смотри также: