İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

ASP veri çekme - karakter sorunu

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
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
İyinet Üyesi
Onaylı Üye
Katılım
25 Haziran 2005
Mesajlar
4,856
Reaction score
1
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
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
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
İyinet Üyesi
Katılım
26 Mart 2006
Mesajlar
122
Reaction score
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
İyinet Üyesi
Katılım
27 Eylül 2008
Mesajlar
2
Reaction score
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.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst