Я пишу веб-приложение и взаимодействую с MySQL, используя Hibernate 3.5. Используя «デ ス ク ト ッ プ ინგლისური» в качестве моей тестовой строки, я могу ввести строку и убедиться, что она правильно сохраняется в базе данных. Однако когда я позже извлекаю значение из базы данных и печатаю на консоли в виде строки, я вижу «?????? ?????????». Если я использую
new OutputStreamWriter(System.out,"UTF-8");
тогда я получаю "É„ Ç „„ „„ „„ „„ · · · · · · · · · · · · · · "" "" "" "" "" "". исходная строка?
Это мои настройки hibernate.cfg.xml:
<property name="hibernate.connection.useUnicode">
true
</property>
<property name="hibernate.connection.characterEncoding">
UTF-8
</property>
<property name="hibernate.connection.charSet">
UTF-8
</property>
и это моя строка подключения к базе данных:
hibernate.connection.url = jdbc:mysql://localhost/mydatabase?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8