JPA utf-8 characters not persisted
jpa, utf-8
Solution
use the character encoding in the property of persistence.xml file
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3306/blogdatabase?useUnicode=yes&characterEncoding=UTF-8"/>
Problem
I have a simple web application where I use JPA. I have an entity called BlogEntry. When I submit a new BlogEntry, when I debug my application I see the utf8 characters just fine. For example ``` em.persist(entity); ``` In this line, if I debug for example: ``` entity.getTitle() ``` I can successfuly see utf-8 characters in the IDE. ( like ğğ, or çç ) Also, my database has UTF8 collation and I can insert utf-8 characters just fine with sql using like "INSERT INTO..." However, with JPA, the characters are persisted as ???? Why might this be? Regards. Here is my persistence.xml: ``` <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <persistence-unit name="Persistence"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>com.tugay.blog.core.model.Blogentry</class> <properties> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/blogdatabase"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="aabbccdd"/> </properties> </persistence-unit> </persistence> ```