Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

ASP veri çekme - karakter sorunu

annudora

0
Onaylı Üye
Üye
Katılım
6 Mart 2006
Mesajlar
2,016
Açılan Konu
308
Tepki puanı
2
Konum
@nkara
Büyük bi problem var bu ASP de veri çekmede. PHP de veri çekerken Türkçe karakter sorunu olmazken - ASP de Set StrHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0" ) yöntemiyle aldığım tüm verilerde ı ve ş ler bozuluyor. Buna çözüm varmıdır ?
 

Senol

0
Onaylı Üye
Üye
Katılım
25 Haziran 2005
Mesajlar
4,856
Açılan Konu
128
Tepki puanı
6
Konum
Bursa
gelen veriyi veritabanına kaydetmeden once aşağıdaki replace kodu ile temizlersen sorun kalmaz

PHP:
function temizle(kelime)
kelime = replace(kelime, "&", "&")
kelime = replace(kelime , "Ü", "Ü")
kelime = replace(kelime , "ü", "ü")
kelime = replace(kelime , "İ", "İ")
kelime = replace(kelime , "ç", "ç")
kelime = replace(kelime , "ı", "ı")
kelime = replace(kelime , "ö", "ö")
kelime = replace(kelime , "ğ", "ğ")
kelime = replace(kelime , "ş", "ş")
kelime = replace(kelime , "Ç", "Ç")
kelime = replace(kelime , "Ş", "Ş")
kelime = replace(kelime , "Ö", "Ö")
kelime = replace(kelime , "'", "")
kelime = replace(kelime, "<", "<")
kelime = replace(kelime, ">", ">")

kelime = replace(kelime, """, """")
kelime = replace(kelime, "ö", "ö")
kelime = replace(kelime, "ü", "ü")
kelime = replace(kelime, "ç", "ç")

kelime = replace(kelime, chr(10), "")
kelime = replace(kelime, chr(13), "")
kelime = replace(kelime, "<br/><br/><br/>", "")
kelime = replace(kelime, "", "")
kelime = replace(kelime, "", "")


temizle = kelime
end function
 

annudora

0
Onaylı Üye
Üye
Katılım
6 Mart 2006
Mesajlar
2,016
Açılan Konu
308
Tepki puanı
2
Konum
@nkara
TRdownload - bi ara atışmıştık ama unutalım bari :)

Anlaşılmamış tam yazdığım. Veritabanına kaydetmiyorum. Bu tarz bi TR karakter sorununu çözebiliyorum. Ben verileri direk alıyorum ve aldığım sayfada META larda CHARSET belirtilmemiş. Ve gelen veriler rüÅ?vet, hırsızlık dolandırıcılık, şeklinde geliyor. Yani ı lar ş ler acaip derecede bozuluyor.

Kendi sayfamda karakter kodu veya replace ler le bu işi beceremedim. PHP ile bu tarz sorun olmadığını biliyorum ama PHP bilmiyorum :)
 

Kingdom

0
Onaylı Üye
Üye
Katılım
26 Mart 2006
Mesajlar
122
Açılan Konu
4
Tepki puanı
0
PHP:
Private Function GETHTTP(URL)  
  Const adTypeText = 2 
  Const adReadAll = -1 
  Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP" ) 
  Set objStream = Server.CreateObject("ADODB.Stream" ) 
  objHTTP.Open "GET" , URL, false 
  objHTTP.sEnd 
  objStream.Open 
  objStream.Type = adTypeText 
  objStream.WriteText(objHttp.ResponseBody) 
  objStream.Position = 0 
  objStream.CharSet = "windows-1254"
  GETHTTP = objStream.ReadText(adReadAll) 
  objStream.Close 
  Set objStream = Nothing 
  Set objHTTP = Nothing 
End Function

Charset kısmını "windows-1254" , "utf-8" ,"latin1" , "latin5" vs.. deneyerek sorunu çözebilirsin.
 

ChatLak

0
Onaylı Üye
Üye
Katılım
27 Eylül 2008
Mesajlar
2
Açılan Konu
0
Tepki puanı
0
PHP:
Private Function GETHTTP(URL)  
  Const adTypeText = 2 
  Const adReadAll = -1 
  Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP" ) 
  Set objStream = Server.CreateObject("ADODB.Stream" ) 
  objHTTP.Open "GET" , URL, false 
  objHTTP.sEnd 
  objStream.Open 
  objStream.Type = adTypeText 
  objStream.WriteText(objHttp.ResponseBody) 
  objStream.Position = 0 
  objStream.CharSet = "windows-1254"
  GETHTTP = objStream.ReadText(adReadAll) 
  objStream.Close 
  Set objStream = Nothing 
  Set objHTTP = Nothing 
End Function

Charset kısmını "windows-1254" , "utf-8" ,"latin1" , "latin5" vs.. deneyerek sorunu çözebilirsin.

Konu çok eski ama Kingdom verdiğin kod işime yaradı teşekkürler.
 
Üst