Ne arayalım?

ARAMIZA KATILIN

BİZE ULAŞIN

Adres:

E-posta:

host/bin/bilisimlife.dll

iletisim@bilisimlife.net




 
Rserit
Developer
       
 1026  
 278

ASP'de Türkçe Karakter Problemi ve Çözüm Yöntemleri

Selamlar,
Malumunuz BilişimLife dahil birçok site classic asp ile çalışıyor. Türkçe karakter sorunları doğabiliyor. Öyle bir sorun zinciri çıkıyor ki şaşırmamak elde değil.

Örneğin, sayfaya


<meta http-equiv="Content-Type" content="text/html" charset="utf-8">

yazdığınızda, sayfa dili normal olur (html kısımlar). Ancak veritabanından gelen veriler bozuk olabilir. Access ile çalışırken bolca başıma gelmişti. Charset'i utf-8 değil, windows-1254 yaparsanız bu sefer veritabanından gelen veriler Türkçe olur; ama sayfa dili bozulur. E nasıl çözeceğiz?

Çözüm 1: MySQL kullanıyorsanız burada çözümü var.

Çözüm 2: Sayfaya şu kodları yazın:


Response.AddHeader "Content-Type", "text/html;charset=UTF-8"
Response.CodePage = 65001
Response.CharSet = "UTF-8"


Çözüm 3: Web.config dosyasında configuration altına şunları yazın:


<system.web>

  <globalization culture="tr-TR" uiCulture="tr-TR" />

</system.web>



Olmadı mı?

Çözüm 4: Fonksiyon yazın. Türkçe karakterler bozulduğunda yerini farklı bir hal alır ve bunların karşılıkları vardır. Farklı bir sayfada fonksiyonlar.asp isminde dosyanız olsun. Burada bulunan kodları yapıştırın (bizzat yazdım). Ismini ork koydum, ne koyarsanız koyun. Fonksiyonlar.asp'yi sayfanıza include edin. Ardından veritabanından veri çektiğiniz yerlere gelin, metodu kullanın.

Örnek kullanım:


// veritabanından veriyi çekelim

Set yazi= Baglanti.Execute("Select * from Yazilar")

makale=yazi("icerik")

// veriyi kullanalım.

<%=ork(makale)%>



Genellikle kullanılan yöntem budur.

Çözüm 5: Sayfa başına şunları ekleyin:


<% @ Language = VBScript CodePage=1254 %>
 
<%
Session.CodePage = 1254
Session.LCID = 1055
%>
<%Response.Charset="ISO-8859-9"
Response.Charset="Windows-1254"
response.ContentType="text/HTML"
%>


Daha fazla çözüm bulursam başlığı güncelleyeceğim.

Iyi çalışmalar,
Recep.

Developer.