Google API kullanılarak yapılan aramalarda tr karakter sorunu

0
Onaylı Üye
Üye
Katılım
17 Ağustos 2004
Mesajlar
429
Tepki puanı
0
Konum
Malatya-Elazığ
Google API kullanarak tr karakterler içeren genel sözcükler üzerinde arama yaptığımda, arama sonuçları tr karakteri desteklemediği için çok az sayfa çıkıyor. Örneğin aşk kelimesinde sadece 84 sayfa bulabiliyor "aÅ?k" olarak aldığı için.

ResponsePage = objXML.responseText
Set objXML = Nothing
ResponsePage=replace(ResponsePage,"ü","ü")
ResponsePage=replace(ResponsePage,"ç","ç")
ResponsePage=replace(ResponsePage,"ı","ı")
ResponsePage=replace(ResponsePage,"ÅŸ","ş")
ResponsePage=replace(ResponsePage,"İ","i")
ResponsePage=replace(ResponsePage,"ÄŸ","ğ")
ResponsePage=replace(ResponsePage,"ö","ö")
ResponsePage=replace(ResponsePage,"Å?","ş")
ResponsePage=replace(ResponsePage,"Ä?","ğ")

Bu türden şeyler denedim ama sonuç vermedi. Sorunu düzeltebilmem için yardımcı olursanız sevinirim.

Şimdiden teşekkürler.
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
Bu UTF8'in Türkçe karakterlerdi problemi.

Aşağıda PHP ile sadece Türkçe karakterlere özel UTF8'den çeviri işlemi var:

PHP:
    function tr_utf8_decode($string) {
        $string = str_replace("\xc4\x9f", "ğ", $string);
        $string = str_replace("\xc4\x9e", "Ğ", $string);
        $string = str_replace("\xc4\xb1", "ı", $string);
        $string = str_replace("\xc4\xb0", "İ", $string);
        $string = str_replace("\xc5\x9f", "ş", $string);
        $string = str_replace("\xc5\x9e", "Ş", $string);
        $string = str_replace("\xc3\xa7", "ç", $string);
        $string = str_replace("\xc3\x87", "Ç", $string);
        $string = str_replace("\xc3\xb6", "ö", $string);
        $string = str_replace("\xc3\x96", "Ö", $string);
        $string = str_replace("\xc3\xbc", "ü", $string);
        $string = str_replace("\xc3\x9c", "Ü", $string);
        return $string;
    }
 
0
Onaylı Üye
Üye
Katılım
17 Ağustos 2004
Mesajlar
429
Tepki puanı
0
Konum
Malatya-Elazığ
Asp'ye bu şekilde uyguladım ama gene sonuç alamadım.
ResponsePage=replace(ResponsePage,"\xc5\x9f","ş")
ResponsePage=replace(ResponsePage,"\xc4\xb1","ı")


Genel kodlar ise şu şekilde

SoapText = "<?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance' xmlns:xsd='http://www.w3.org/1999/XMLSchema'><SOAP-ENV:Body><ns1:doGoogleSearch xmlns:ns1='urn:GoogleSearch' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><key xsi:type='xsd:string'>" & key &"</key><q xsi:type='xsd:string'>" & marka & "</q><start xsi:type='xsd:int'>" & hsay & "</start><maxResults xsi:type='xsd:int'>10</maxResults><filter xsi:type='xsd:boolean'>true</filter><restrict xsi:type='xsd:string'></restrict><safeSearch xsi:type='xsd:boolean'>false</safeSearch><lr xsi:type='xsd:string'>lang_tr</lr> <ie xsi:type='xsd:string'>latin1</ie><oe xsi:type='xsd:string'>latin1</oe></ns1:doGoogleSearch></SOAP-ENV:Body></SOAP-ENV:Envelope>"

Googleurl = "http://api.google.com/search/beta2"
Set objXML = CreateObject("Microsoft.XMLHTTP")
objXML.open "POST",Googleurl,"False"
objXML.setRequestHeader "Man", "POST"+" "+Googleurl+" HTTP/1.1"
objXML.setRequestHeader "MessageType", "CALL"
objXML.setRequestHeader "Content-Type", "text/xml"
objXML.send SoapText

ResponsePage = objXML.responseText
Set objXML = Nothing
ResponsePage=replace(ResponsePage,"ü","ü")
ResponsePage=replace(ResponsePage,"ç","ç")

"marka" aranan kelime oluyor. Kodu asp'ye nasıl uygulayabilirim?
 
Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,043
Tepki puanı
77
Konum
SEO
Turkce aramalar icin soyle bir oneride bulunabilirim:
(Calisip calismadigini test etmedim)

SOAP call esnasinda:

<?xml version='1.0' encoding='UTF-8'?>

yerine

<?xml version='1.0' encoding='ISO-8859-9'?>

kullanmayi dene.
 
0
Onaylı Üye
Üye
Katılım
17 Ağustos 2004
Mesajlar
429
Tepki puanı
0
Konum
Malatya-Elazığ
iyinetadmin bunu ilk başta denemiştim ne yazık ki işe yaramadı.
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
Garip, ben PHP ile Google için yukardaki kodu kullanıyorum çalışıyor...?
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
ee Asp bu akıl sır ermez ona :p
biz phpmiz ile mutluyuz...
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
hangi kodu kullanıyorsun arama api si için.
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
fsockopen
preg_match_all
...
...

:D

Hazır bir kod kullanmıyorum...
 
0
Onaylı Üye
Üye
Katılım
17 Ağustos 2004
Mesajlar
429
Tepki puanı
0
Konum
Malatya-Elazığ
Php'den biraz anlasam phpyi kullanacağım ama bilmiyorum ki. Yine de sağolun.

Asp'de çözümü bilen yok mu?
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
hdogan' Alıntı:
fsockopen
preg_match_all
...
...

:D

Hazır bir kod kullanmıyorum...

haa bende nusoap ile yaptığını sanıyordum.seninki o zaman api siz mi :p
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
en iyisi walla.
bende 5-10 key api alacam daha saat başı api degiştirecegim.1000 arama ile sınırlı olunca hemen bitiyor.aslında bende senin gibi yapsam iyi olacak ama bir fırsat bulamadım daha bu işe ağırlık vermeye :eek:
 
0
Onaylı Üye
Üye
Katılım
9 Ağustos 2004
Mesajlar
236
Tepki puanı
2
rand ile çözersin sen bu işi abi ya 200 key alırsın bide : )
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
Ben API olayından vazgeçtim zaten. Direkt sayfalarını alıp yorumluyorum >:)
 
0
Onaylı Üye
Üye
Katılım
28 Ekim 2004
Mesajlar
2,366
Tepki puanı
1
Konum
/etc/istanbul.c
soap ve pear ile tc kimlik işine girmem gerek daha :eek:
ugraşan varmı yaw bildiginiz.Amerikayı yeniden keşfetmeyelim.
yoksa iş başa düşecek gene :eek:
 
0
Onaylı Üye
Üye
Katılım
17 Ağustos 2004
Mesajlar
429
Tepki puanı
0
Konum
Malatya-Elazığ
Konu biraz dağıldı galiba :) Asp'de çözümü bilen yok mu?
 
0
Onaylı Üye
Üye
Katılım
14 Ekim 2004
Mesajlar
693
Tepki puanı
2
Konum
Ankara
radres: ASP'den anlamadığım için PHP ile örnek verdim ama işe yaramamasına üzüldüm. Gerçekten PHP ile verdiğim kod çalışıyor, sonuçta ASP de aynı veriyi kullanıyor, neden olmadığı konusunda bir anlam veremedim.

yoktur: ben yine SOAP olmadan TC kimlik servisleri ile preg_match_* fonksiyonları kullanarak uğraştım biraz, gelen veriler UTF8 olduğu için yine bu konuda yapıştırdığım tr_utf8_decode() fonksiyonunu kullandım...
 
Geri
Üst