3 Temmuz 2012 Salı

Update Panel İçindeki Html Text Editör de Türkçe Karakter Sorunu

Merhaba,
Günlerdir uğraştığım ve birkaç saat önce çözdüğüm bir problemimi paylaşmak istiyorum.
Asp.Net ile geliştirmekte olduğum bir emlak sitesi nin yönetim panelinden gerek ilan açıklamaları için, gerekse özel sayfa tasarımları için kullandığım Asp.Net ile entegre gelen Microsoft Ajax araçlarından olan Ajax Editor de Türkçe karakter sorunu ile uzun süredir aralıklarla cebelleşiyordum. Bununla alakalı Türkçe ve yabancı sitelerden birçok forum, makale bulmama rağmen sorunu çözememiştim. Fck editör gibi birçok farklı alternatifleri kullanabilirdim ama ben bu sorunun üstesinden gelmek istiyordum. Neyse uzatmadan çözüm için aşağıdaki adımları gerçekleştirdim.

  1. web.config dosyasında "<globalization culture="tr-TR" fileencoding="windows-1254" requestencoding="windows-1254" responseencoding="windows-1254" responseheaderencoding="windows-1254" uiculture="tr"/>" satırını düzenledim.
  2. Visual Studio 2010 editöründe çalışmakta olduğum .aspx sayfasını "File\Save...[çalıştığım .aspx sayfa adı]...As" komutu ile farklı kaydederek açılan penceredeki Save butonunun seçeneklerinden "Save With Encoding..." komutunu kullandım. Açılan pencereden "Turkish Windows Codepage 1254" seçeneği ile .aspx sayfasını kaydettim.
  3. Hala Html Text Editör de Türkçe karakter sorunu yaşamaya  devam ediyordum. Web.Config dosyası açık iken özellikler sütununda Encoding özelliğinin boş olduğunu gördüm ve Web.Config dosyası için de gerekli "" ayarını yaptım.
  4. Malesef hala Türkçe karakterlerde sorunlar devam ediyordu. Sayfadaki ScriptManager kontrolünün "EnableScriptGlobalization='False'" özelliğini önce True denedim olmadı sonra False denedim yine olmadı. False olarak bıraktım.
  5. Sonra ümitsiz ümitsiz boş boş bakınırken şöyle birşey de aklıma geldi. Yönetim paneli "yonetim" dizininin altındaydı. Acaba web.config ayarları alt dizine etki etmiyor muydu? Bunun için Web.Config dosyasına şu satırıda ekledim. "<location path="yonetim">
        <system.web>
            <authorization>
                <deny users="?">           
            </deny></authorization>
            <globalization culture="tr-TR" fileencoding="windows-1254" requestencoding="windows-1254" responseencoding="windows-1254" responseheaderencoding="windows-1254" uiculture="tr">
        </globalization></system.web></location>"
  6. Sorun hala devam ediyordu. İnadım inat tı. Google dan da ümidimi kesmiştim. Yine bakınıp dururken Ajax Editor ün özelliklerinde "NoUnicode='False'" şeklinde bir özelliği dikkatimi çekti. Bu özelliği "NoUnicode='True'" olarak ayarladım ve son kez tekrar denedim ve mutlu sona ulaşmıştım =)
Umarım bu listedeki seçenekler yada en azından birileri işinizi görür.
Sağlıcakla..