CSS Yorumlarında Türkçe Karakter Kullandığımızda İE6′da Sorun Çıkarıyor
Bu durumla bir kaç defa karşılaştım ve sonuncusunda FirendFeed‘de yazdım, hatta benden önce Burak Dönertaş‘da yazmış konuyu. Konuyu biraz daha ayrıntısı ile burada paylaşmak istedim.
Sorunu başlıkta açıklayıcı bir şekilde anlattım sanırım. Biraz daha açarsam; css kodlarımızı yazarken çeşitli notlar alırız, örneğin sayfa yapısını oluşturan alanların isimleri(ustAlan), farklı tarayıcılar için yaptığımız düzeltmeler için tuttuğumuz notlar(kapsayamamaSorunu) vb.
CSS yorum satırları /* yorum */ işaretleri içinde yazıyoruz ve tarayıcılar bunları görmezden geliyor.
İnternet Explorer 6 eğer dosyanız UTF-8 ile kaydedilmemiş ise sorun çıkarıyor. Burada dosyayı utf-8 ve utf-8 BOM’suz kaydetmek arasında bir fark olmadı. Örnek dosyamı utf-8 ve utf-8 BOM’suz kaydettiğimde bu sorun düzeldi. Utf-8 ile kaydedince Türkçe karakterler bozuldu ancak tekrar yazıp kaydedince bir sorun olmadı.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
@import url("stil.css");
</style>
</head>
<body>
<p class="deneme1 deneme2">Fatih Hayrioğlu burada yorum yazmış sanane ie6, sen niye sorun yapıyorsun ki bu olayı.</p>
</body>
</html>
Bir paragraf yazı yazdık. Daha sonra
.deneme1{ font:12px Arial, Helvetica, sans-serif}
/*Türkçe katakter içermeyecek miş*/
.deneme2{ color:#f00}
Css dosyasının içine yukarıdaki kodları yazdım. CSS dosyasını eğer ANSI formatında kayıtlı ise ie6 css kodlarımı görmüyor.

Firefox ve diğer tarayıcılar ansi olmuş utf-8 olmuş fark etmiyor. Ama

İE6′da ise yukarıdaki gibi Türkçe karakter içeren yorum sonrasındaki sınıfı görmüyor. Daha sonra css dosyasını utf-8 olarak kaydedince sorun ortadan kalktı.

Eğer html ve css aynı karakter kodunda ise sorun olmuyor mesela ikiside iso-8859-9 ise sorun olmuyor. Ama ne zaman html utf-8 css iso-8859-9 olursa sorun oluyor.
Not: Karakter kodu değişiklikleri için NotePad++ kullandım.
İnternet Explorer 6 demek demek sorun demek ..
tarihin en kötü tarayıcı olsa gerek …
ama bizim insanımız inatla internet explorer 6 kullanmaya devam ediyor. gcen gün bir haber okudum %24 civari bir kullanım oaranı varmış su anda ..
Bu sorunla ilk defa dün karşılaştım, tesadüf ya sende bugün bununla ilgili makale yazmışsın. ie6 her şekilde hack yaparak yola sokulabilir ama nihayetinde iyi bir browser değil daha iyileri varken ie6 kullanmak mantıksız olur. İnsanlar alışkanlıklarından vazgeçemiyor en iyisi arayüz geliştiricileri ie6 desteği vermeyecek ki kullanıcılar başka browserları denesin.
Biz buna hazırız ama müşteriler hazır değil.
Fatih hocama katılıyorum.. Özellikle çok kullanıcıya sahip kurumlarda köklü değişiklikler kolay olmuyor. Kamu kurumları, büyük şirketler, vb. gibi
Ya nedir bu IE6'dan çektiğimiz. Yeter vallahi saçma sapan hatalar ile uğraşıyoruz.
Teorik deli kelimesi kelimesine katılıyorum sana. Bu kadar çok uğraştığım bir başka problemi hatırlamıyorum. Zamanında tabii artık çözdük hepsini :)
Şu karakter formatı olayını hiç sevmiyorum.. Bir tane adam akıllı, her sistemin destekleyeceği bir format çıkarsalar da sorun çıkmasa… Veritabanında ayrı dert oluyor, arama motorlarında ayrı dert oluyor, bu tür ie6 gibi külüstür tarayıcılarda sorun oluyor… Html'nin, css'nin dahi standartları belirlendi; ancak böyle temel bir şeyin standartı yok…
UTF-8 varken neden iso-8859-9 kullanılır ki?
utf-8 türkçe karakterleri encod ediyor böyle olunca arama motorları görmüyor