25 Şubat 2011 Cuma

Veritabanından Gelen Verilerin Excel Çıktısı Alındığında Türkçe Karakterlerin Görünmeme Sorunu

Kaynak
   Bir süre önce, veritabanından gelen bilgileri bir datalistte görüntüledikten sonra istendiğinde bu listenin excel çıktısının alınabilmesi gerekiyordu.
   Bunun için runtimeda datalisti bir form içine alıp bu formu render ederek saya çıktısı olarak aldım. Tabi sayfaya bir header ekleyerek çıktının attachement olarak verilmesini, yani, download edilebilir şeklinde olmasını sağladım.
   Fakat aldığım excel dosyalarında Türkçe karakterlerin yerine farklı karakterler görünüyordu. Verilerin de bolca türkçe karakter içerdiğini bildiğim için bunun giderilmesi gerekiordu. Tabiki ilk akla gelen sayfanın encoding bilgisini değiştirmek oldu.
Response.ContentEncoding = Encoding.UTF8;//bu deneme başarısız oldu. çok üzüldüm :(
   Birkaç deneme daha yaptıktan sonra aklıma Encoding classının GetEncoding metodu geldi. Bununla bir encoding vermeliydim diye düşündüm.
Response.ContentEncoding = Encoding.GetEncoding(1254);//sonuç başarılı :)
   Neden 1254 derseniz => http://tr.wikipedia.org/wiki/Windows-1254

Hiç yorum yok:

Yorum Gönder