Date Image Saturday, October 24, 2009 | Kategoriler | Ado.Net, Asp.Net, C#, Tümü

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

   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

Etiketler :