5 Şubat 2008 Salı

MySQL Türkçe karakter problemi

Arkadaşlar yeni polemik ve paylaşım sitemiz hayırlı olsun. Blog açma fikrini ortaya atan kişi olduğum halde yazı gönderen 3.kişi olabilmem tembel bir insan olduğum anlamına gelmiyor bence :) Bu blogun çıkış noktası şuydu: "Çözmek için 2 saatten fazla zaman harcadığımız sorunları ve çözümlerini buraya yazalım ki ileride aynı soruna çözüm aramak için zaman ve emek israf etmeyelim"

Bundan 1-2 ay önce tamamladığım basın özetleri programının kullanılması tekrar gündeme geldi. Programın karışık bir yapısı var. Projede swing, web projesi ve web servisleri var. Proje daha önce Windows'ta çalışan Tomcat ve MySQL kullanıyordu. Dün bunları Linux'a taşıdık ve veritabanında Türkçe karakter problemi yaşadık. Bazen insan İngilizce konuşulan bir ülkede kod geliştirmek istiyor. Özellikle dün böyle bir ülkeye kaçmayı ciddi ciddi düşündüm. Adamların bizim gibi sorunları yok tabi daha hızlı proje geliştirirler :)

Neyse, veritabanı ve tablolar UTF-8 ile yaratıldığı halde böyle bir sorun yaşadım. Uzun süren bir çalışmanın ardından (Evet 2 saatten fazla sürdü) sorun halloldu. Veritabanından connection alınırken connection string de bazı parametreler göndermek gerektiğini keşfettim. Kullandığım connection string aşağıdadır:

String connString="jdbc:mysql://155.55.155.55/basinozetleri?user=kullaniciAdi" +"&password=sifre&useUnicode=true&characterEncoding=UTF-8";

Connection conn= java.sql.DriverManager.getConnection( connString);

İleride daha ciddi yazılarımla sizlerle birlikte olacağım.
Esen kalın.

1 yorum:

Adsız dedi ki...

ilginç