Mam prostą aplikację internetową, w której używam JPA.JPA utf-8 znaków nie trwało
Mam podmiot o nazwie BlogEntry.
Kiedy przesyłam nowy wpis BlogEntry, podczas debugowania aplikacji widzę znaki utf8.
Na przykład
em.persist(entity);
W tej linii, jeśli debugować na przykład:
entity.getTitle()
Mogę pomyslnie zobaczyć UTF-8 znaków w IDE. (Jak GG, lub CC)
Również moja baza danych ma UTF8 sortowania i mogę wstawić UTF-8 znaków dobrze z SQL przy użyciu jak "INSERT INTO ..."
Jednak z JPA, znaki są utrzymywane jako ????
Dlaczego to możliwe?
Pozdrawiam.
Oto moja 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>
pamiętać, aby uniknąć jakichkolwiek znaków specjalnych, jak poniżej: 'spring.datasource.url = jdbc \: mysql \: // localhost \: 3306/blogdatabase \? useUnicode = true \ & characterEncoding = utf \ -8 \ & characterSetResults = utf \ -8' – vijay