Veritabanı kurulum yada konfigurasyon farklılıklarından ötürü JDBC yada JPA ile Türkçe karakterleri doğru persist edemiyorsanız. Çözüm aşağıdadır.
Problem JDBC katmanında yaşanır. JDBC connection url'inize
useUnicode=true
characterEncoding=UTF-8
parametreleri eklemelisiniz.
Yani connection url'iniz
jdbc:mysql://address:port/database_name?useUnicode=true&characterEncoding=UTF-8
gibi olmalıdır.
JPA kullananlar persistence.xml içerisine
<property name="hibernate.connection.useUnicode" value="true" />
<property name="hibernate.connection.characterEncoding" value="UTF-8" />
ekleyerek problemi çözebilirler.
Seam Framework kullanlar ise ds.xml(Seam Data Source XML) dosyalarına "driver-class" tanımından hemen sonra aşağıdaki iki connection property'i eklemelidirler
<connection-property name="useUnicode">true</connection-property>
<connection-property name="characterEncoding">UTF-8</connection-property>
18 Nisan 2011 Pazartesi
Kaydol:
Kayıt Yorumları (Atom)
seam'de context.xml'e url="jdbc:mysql://localhost:3306/prj?useUnicode=true&characterEncoding=UTF-8 şeklinde (belirttiğiniz gibi) ekeyince düzeldi.
YanıtlaSilteşekkürler kardeş
YanıtlaSil