18 Nisan 2011 Pazartesi

JPA Türkçe Karakter Sorunu | JDBC Türkçe Karakter Sorunu | Seam Framework Türkçe Karakter Sorunu

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>

27 Ocak 2011 Perşembe

Yüzyılın buluşu! :D