I have a Java Web application running on GlassFish 3 and JPA (EclipseLink) on MySQL. The problem I\'m facing is that if I\'m saving entities to the database with the u
It's JDBC, not JPA that determines the encoding:
jdbc:mysql://localhost:3306/administer?characterEncoding=utf8
I had to add useUnicode=true as well, so I had to concat the parameters with '&' so it looks like this:
jdbc:mysql://127.0.0.1:3306/warranteer?useUnicode=true&characterEncoding=UTF-8
If you're using maven profiles to set the MySQL URL, like me, make sure you put &
instead &
because maven unescape the url when writing the persistence.xml file to classes folder.
New version JDBC driver auto detect the characterEncoding. You do not need to set it explicitly.
I solved it with the following: I used the GlassFish admin interface to add this property to my connection pool's settings:
characterEncoding = UTF-8