I'm writing a webapp, and interfacing with MySQL using Hibernate 3.5. Using "デスクトップ ინგლისური" as my test string, I can input the string and see that it is properly persisted into the database. However, when I later pull the value out of the database and print to the console as a String, I see "?????? ?????????". If I use
new OutputStreamWriter(System.out,"UTF-8");
then I get "デスクトップ ინგლისური"". Why don't I see the original string?
These are my hibernate.cfg.xml settings:
<property name="hibernate.connection.useUnicode">
true
</property>
<property name="hibernate.connection.characterEncoding">
UTF-8
</property>
<property name="hibernate.connection.charSet">
UTF-8
</property>
and this is my database connection string:
hibernate.connection.url = jdbc:mysql://localhost/mydatabase?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8