ASP .Net Türkçe Karakterler
ASP.NET uygulamaları geliştirirken Türkçe karakterlerin kullanımı nasıl olacak? Bu
konuyu karakterlerin bilgisayarda nasıl gösterildiği ve kodlama standartları konularını da ele
alacak şekilde açıklayalım.
Bilgisayarda tüm karakterler (harfler, rakamlar, noktalama işaretleri, semboller)
kodlanarak işlenir. Kodlama işlemi her karakterin bir numarayla (sayıyla) ifade edilmesi,
yani o karaktere bir numaranın atanmasıdır. Karakterlerin sayısal karşılıklarıyla ilgili çeşitli
standartlar vardır. Örneğin, sadece İngilizce karakterleri kapsayan ANSI standardı.
Fakat tüm dünya ülkelerinin kendi dillerinde programlar kullanma ihtiyacından dolayı,
farklı ülke dillerindeki karakterleri de içerecek kodlama standartlara oluşturulmuştur.
Yazılım üreticileri de bu kodlama standartlarına göre programlarını yazmaktadırlar.
Farklı
üreticiler kendi kodlamalarını oluşturabildikleri gibi (örneğin, Windows-1254 kodlaması.)
uluslar arası organizasyonlar da çeşitli kodlamalar (örneğin, Türkçe nin dahil olduğu
karakter kodlama standardı, ISO-8859-9) oluşturmuşlardır. ISO-8859-9, belli başlı tüm
tarayıcılarda desteklenmektedir.
Her dilde farklı harfler kullanılır. Örneğin, Türkçe de bulunan ş,ç,ö,ğ,ü,ı harfleri
İngilizce de yokken, İngilizce de bulunan x, w, q harfleri, Türkçe de yoktur. Bilgisayar
dünyasında farklı dilleri kapsayan farklı kodlamalar oluşturulmuştur. Fakat her dilin farklı
bir kodlamaya sahip olması, aynı sayfada birden fazla dil içeren sitelerde ve siteden siteye
geçişlerde kod çakışmalarına neden olmuştur. İki farklı dil kodlamasında (encoding) aynı
numaranın, farklı karakterleri tanımladığı durumlarda “ı” yerine “y” işaretinin çıkması, “ğ”
yerine “?” işaretinin çıkması gibi kod çakışmaları meydana gelmiştir.
Yazılımcılar tarayıcılara dil kodlaması seçeneği koyarak farklı dillerin internet
ortamında görüntülenebilmesine çalışmışlardır. Bu seçeneğin altında çeşitli dil kodlama
standartları listelenmektedir.
Resim 2.1 : Internet Explorer’da Görünüm menüsündeki Dil kodlaması komutu
İnternette farklı dillere ait karakterleri görüntüleyememe problemine çözüm bulmak
amacıyla birçok üreticinin desteklediği, Unicode adı verilen yeni bir kodlama tekniği
geliştirilmiştir. Unicode, Universal Code (Evrensel Kod) kelimelerinin kısaltılmış halidir.
“Yeryüzündeki her farklı karakter için farklı ve sabit bir numara, sayı atamak" yaklaşımıyla
geliştirilen Unicode çatısı altında tüm dil kodlamaları toplanmaya başlanmıştır. Bu kodlama
tekniğinde dünya üzerinde herhangi bir karakter için bir sayı değeri atandıysa, bu sayı değeri
hiçbir şekilde farklı bir karaktere verilmeyecektir. Böylelikle tarayıcı, kendisine gelen bir
sayısal değerin net bir şekilde hangi karakteri ifade ettiğini bildiğinden karakterleri
gösterememe problemi yaşamayacaktır.
Tüm dillerdeki karakterleri kapsayacak kodlamalar geliştiren bir organizasyon olan
Unicode organizasyonu Apple, HP, IBM, Microsoft, Sun, Oracle gibi yüzlerce yazılım
şirketleri tarafından desteklenmektedir. Günümüzde halen kimi programlar Unicode (UTF-
8)’i desteklerken, kimileri desteklememektedir. UTF-8 ile kodlanmış bir metin UTF-8’i
desteklemeyen bir editör (örneğin, kodlama ayarı ISO olan bir editör) ile açıldığında kimi
Türkçe karakterler görünmeyebilir. Tüm dünyada büyük bir hızla Unicode’u destekleyen
program sayısı artmaktadır. Tüm programlar Unicode (UTF-8)’i desteklediğinde Türkçe ve
diğer dillere ait karakterlerin görüntülenmesinde bir sıkıntı yaşanmayacaktır.
ASP.NET’in tanımlı karakter kodlama tekniği Unicode (UTF-8) olduğundan
ASP.NET, oluşturduğunuz sayfalardaki karakterleri farklı bir dil kodlaması belirtmediyseniz
UTF-8 kodlamasına göre değerlendirir. Etkileşimli web uygulamaları modüllerindeki
sayfalarda farklı bir karakter kodlaması belirtilmeyecek, böylelikle Unicode (UTF-8)
kodlaması kullanılacaktır. İsterseniz UTF-8’in dışında Türkçe karakter kodlamasını içeren
ISO-8859-9’u ve Windows-1254’ü kullanabilirsiniz. Internet Explorer’daki dil kodlaması
menüsünde ISO-8859-9’u Türkçe(ISO) olarak, Windows-1254’ü Türkçe(Windows) olarak
görürsünüz.
|