Turning gears are the logo of co-scripts

Karşılaşılan sorun düzenlediğimiz html,asp veya php sayfasının sunucuya yolladıktan sonra kullanıcıya gönderdiği halinde Türkçe karakterlerin doğru görünmemesi veya hiç görünmemesi şeklide kendini gösteriyor.

Ben bir süredir beni oyalayan sorun için biraz araştırma yaptım ve ASP sayfaları için bir çözüm ürettim (elbette internet taramalarında bu sonuca vardım.) Ancak sanıyorum varsayılan ayarları US yada UK İngilizcesi olan sunucularda bu çok fazla işe yaramayabilir.

Bu yazıdaki kodlara bakınız.

 

Aşağıdaki standart makalelerinde ve yetkili kurum sayfalarında gerekli açıklamalar mevcut.

Response.Charset , Response.CodePage , Session.CodePage ,W3C Character Encodings , Character Set ,UTF-8, Setting HTTP Charset

Notlar: 

  • Metin temelli ASP, html, htm, js, vbs, php, css, xml gibi dosyalarınızı BOM1,2 bilgisi içermeyen utf-8 tipinde kaydedin
  • Metin editörünüzün kayıt ayarlarını BOM'suz utf-8'e çevirin
  • Dil ek bilgisi taşıyan ANSI tipindeki metin temelli dosyalarınızı da utf-8'e çevirin.
  • Dosyaları (klasörün tamamını da) ANSI'den utf-8 e topluca çeviren yazılımlar vardır.
  • 65001 kodu UTF-8'i işaret eder
  • include tekniğinde içerilen (çağrılan) sayfa ana sayfanın karakterseti ve kod sayfası tipine uyabilir ama uymama olasılığı da var.
  • server.execute tekniğinde çalıştırılan sayfa ana sayfanın karaktersetini taşımaz ve kod sayfası tipine uymaz.
  • Sayfanızın browser tarafından yanlış encode edilmemesini garantilemek için en son olarak sayfanızın head kısmı içine 
     
    

    kodunu eklemeyi unutmayın.
  • CSS dosyasının en üstünde @charset "UTF-8"; olarak kullanabilirsiniz. Böylece css dosyanız ile stil verdiğiniz html dosyası aynı encode içerirler.
  • Apache sunucuda .htaccess ile karakter encoding
  • Sunucunuzdaki veritabanı özellikle sql ise collation başka bir dilde olabilir. Kontrol etmelisiniz.
  • BOM nedir? Kısaca fazladan karakter tanımlamak için oluşturulmuştur. (Byte Order Mark). Özellikle metin tabanlı dosyanın başına hatalı algılanan karakterler yerleştirir ve farklı bir kayıt tipidir. UTF-8 için gereksizdir denebilir. UTF-16 da kullanımı yaygındır. Standart utf-8 kullanmadığınızda Header bilgisini bozduğundan hata verdirir. BOM'lu utf-8 genellikle dosya TR karakter içeriyorsa sorun çıkartır. Tüm editörlerde BOM'suz utf-8 kayıt mümkündür.
  • Dil kodu belirtme önceliği şu şırayladır.
  •  
  • 1- HTTP Content-Type
  • 2- XML deklare etme
  • 3- Meta charset deklare etme
  • 4- Link charset özelliği
co-scripts tag image turkce karakter sorunuutf-8bomansiencoderesponse.charsetresponse.codepage
ID:206 | Okunma:10708