Asp.Net de Türkçe Karakterler

asp netASP.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.

İ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.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.