Web Sayfası ve Türkçe Sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
fcakar
Üye
Mesajlar: 7
Kayıt: 06 Ağu 2003 11:13
Konum: Dicle Üniversitesi

Web Sayfası ve Türkçe Sorunu

Mesaj gönderen fcakar »

Merhaba Arkadaşlar,
Delphi de hazırladığım bir programım var. Web üzerinde çalışan bu programı wbbroker ile hazırladım. Veri tabanında düzgün olan kayıtları tarayıcı da düzgün gösteriyor, ancak bilgilerde değişiklik yapılırken veritabanına türkçe karakterleri kaydetmiyor.
Meta taglarım tamam, 2-3 meta tagı ile sayfanın dilini türkçeye ayarlamışım.
Sorun Delphide değildir, ancak HTML kısmında neyi yanlış yapıyor olabilirim.
Yardım bekliyorum, teşekkürler...
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

uygulama içerisinde TWebBrowser ile mi gösteriyorsun ve buradan da yapılan değişiklikler servere giderken doğru gitmiyor mu? Türkçe karakterler vs.

Ve bu web sayfasını tarayıcıdan (iexplorer gibi) doldurup gönderdiğinde düzgün mü çalışıyor.

Eğer öyle ise, TwebBrowser için şunları yapmalısın...

Kod: Tümünü seç

uses mshtml; 

procedure ondocumentcomplete.... 
var 
    Document: IHTMLDocument2; 
begin 
  Document := WebBrowser1.Document as IHtmlDocument2; 
  Document.charset := 'utf-8'; 
  . 
  . 
end; 
umarım işini görür..

Saygılar..
Kullanıcı avatarı
Murat DİCLE
Kıdemli Üye
Mesajlar: 702
Kayıt: 19 Nis 2006 04:12
Konum: İstanbul
İletişim:

Mesaj gönderen Murat DİCLE »

bu arada söylemeyi unuttum, delphi 2005 gibi bir ide de yazıyorsan, dosya formatını utf-8 olarak ayarlaman gerekiyor. yoksa sayfa içerisindeki Türkçe karakterlerde sorun olur. web.config gibi şeyleri hiç ellemene gerek yok.

sayfa tagında ise yine utf-8 i belirtirsen iyi olur.

saygılar..
fcakar
Üye
Mesajlar: 7
Kayıt: 06 Ağu 2003 11:13
Konum: Dicle Üniversitesi

Teşekkür ederim

Mesaj gönderen fcakar »

ilginize çok teşekkürler, ancak düşündüğünüz gibi uygulama içerisinde değil bu... Yaptığım bir CGI programı, exe uzantılı ve bir IIS üzerinde çalışıyor.
Sanırım bu durumda Delphinin dosya formatının bir önemi yoktur, çünkü neticede HTML kodlar üretiliyor ve istemcinin tarayıcısına ulaşıyor.
UTF8, Windows-1254 ve ISO-8859-9 kodlarını META TAG olarak koydum ama yine sonuç olumsuz.
Hatta basit bir deneme yaptım, bir web formunun üzerindeki bir INPUT alanına "öÖçÇiİıIğĞüÜ" değerini girerek post ettim, ikinci ekranda gelen bu değeri göstermek istedim, garip garip şekiller çıkıyor.
Belki de, IIS ayarlarında bir şey vardır, çünkü başka hiçbir bileşen araya girmiyor,
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

verileri alırken ne olarak alıyorsun? unicode mu yoksa charset mi? WideString ve string'leri kontrol etmeyi dene. unicode olsa bile, big-endian ve little-endian olup olmadığına bak.
fcakar
Üye
Mesajlar: 7
Kayıt: 06 Ağu 2003 11:13
Konum: Dicle Üniversitesi

Mesaj gönderen fcakar »

Maalesef bunları anlayamadım, bunu nerden ve nasıl kontrol etmem gerekiyor.
Ben formdan POST edilen verileri, Request.ContentFields.Values['ADI']
şeklinde okuyup, veritabanına kayediyorum.
Dostum, bu konuda daha ayrıntı lütfen, büyük iyilik yapmış olursun, tıkandım kaldım.
Teşekkürler
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

Dostum Request nesnesi TString türünden. Yani her zamnki VCL-unicode meselesi. Kullandığın webformdan gelen veriler unicode olmaması lazım. ya da WebBroker'ın unicode versiyonunu bulman lazım. Bence kullanacağın herbir şeyin TURKISH charset'e göre olmasına dikkat et. unicode, utf-8 felan kullanma. Bir yerde mutlaka bunlar unicode olarak webBroker'a geliyor. Bu sorunu sen kendin bulup çözmelisin. Kolay gelsin.

kolay gelsin.
fcakar
Üye
Mesajlar: 7
Kayıt: 06 Ağu 2003 11:13
Konum: Dicle Üniversitesi

Çok teşekkür ederim

Mesaj gönderen fcakar »

Böyle basit bir olay için iki gece uyumadığıma inanamıyorum, sonunda buldum,
"ilk zamanlar bu böyle değildi, sonradan bu problem çıktı ve ben elimden geleni yaptığım halde düzelmiyor" demiştim ya. Suç ben de ya da programımda değilmiş, web server üzerine "English" gerektiren başka bir program kurulmuş ve bu nedenle benim otomasyon böyle kafayı yemiş, bundan da haberim yoktu,
Herkese tavsiyem: Bir sorun sürpriz olarak ortaya çıktığında, o sıralarda neler yapılmış ise, onu aşama aşama kontrol ediniz...
Windows 2003 u düzelttim, problem bitti... Fatih baba, uğraşların için sonsuz teşekkür... Kendine iyi bak.
Cevapla