.NET ile MySQL'e bağlanma ve Türkçe karakter

.NET ile yazdığım bir projede MySQL kullandığımdan bahsetmiştim. Projede geliştirmeyi yaparken veritabanına yazma işlemleri sırasında Türkçe karakterlerde problemler yaşadım.

MySQL'de veritabanında karakter seti olarak UTF-8 belirledim. Veritabanına elle girdiğim datalarda Türkçe karakter problemi yaşamadım. Veritabanından SELECT ile bilgileri çekip sayfada gösterirken herhangi bir problem çıkmıyor, ancak  INSERT ve UPDATE işlemlerinde ise Türkçe karakterlerim değişiyordu. Mesela ş harfi s, ğ ise g oluyordu.

SQL Server veya Access ile çalışırken bu şekilde bir problemle karşılaşmayınca sorunun nereden kaynaklandığını bulmak biraz vakit aldı. Sonunda connection string'e birşeyler eklemem gerektiğini buldum. "Charset=utf8" ekleyince MySQL verirabanına Türkçe karakter kaydetme problemi ortadan kalktı.

.NET ile MySQL'e bağlanmak için aşağıdaki gibi bir connection string kullanabilirsiniz :

server=localhost;database=DatabaseName;uid=UserName;password=Password;Charset=utf8

Bu connection string'i genelde kullanılan şekliyle web.config dosyasına aşağıdaki şekliyle ekleyebilirsiniz :

<add key="strConnString" value="server=localhost;database=DatabaseName;uid=UserName;password=Password;Charset=utf8 "/>

Comments

Comments (5) -

bir yabancı
kardeş hay Allah senden razı olsun... netteki ahmak yorumlar yuzunden koca veritabanını silip silip yeniden yaptım olmadı.. sayende bu minik püf ile herşey yoluna girdi. artık baştan veritabanını yapıp işlemlere devam edeceğim. 8 saattir yerli yabancı girmediğim site kalmadı.. çok teşekkürler..

proje içindeki string ise şu sekilde..

string cnnStr = "server=xxx; database=xxx; User id=xx; password=xx; Charset=utf8";
Muammer Benzeş
@bir yabancı : Rica ederim, faydalı olmasına sevindim. Kolay gelsin...
Recep
Helal olsun sana kardeşim ben latin denemiştim düzelmemişti demekki sorun utf-8 deymiş.
Muammer Benzeş
@Recep : İşine yaramasına sevindim...
turzifer
Ben de bu Türkçe karakter problemine epey bir zaman harcamıştı. Teşekkürler.