İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

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

radres

0
İyinet Üyesi
Katılım
18 Ağustos 2004
Mesajlar
429
Reaction score
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.
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
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;
    }
 

radres

0
İyinet Üyesi
Katılım
18 Ağustos 2004
Mesajlar
429
Reaction score
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?
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
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.
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
Garip, ben PHP ile Google için yukardaki kodu kullanıyorum çalışıyor...?
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
fsockopen
preg_match_all
...
...

:D

Hazır bir kod kullanmıyorum...
 

radres

0
İyinet Üyesi
Katılım
18 Ağustos 2004
Mesajlar
429
Reaction score
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?
 

yoktur

0
İyinet Üyesi
Katılım
28 Ekim 2004
Mesajlar
2,366
Reaction score
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:
 

Haymac

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Ağustos 2004
Mesajlar
236
Reaction score
2
rand ile çözersin sen bu işi abi ya 200 key alırsın bide : )
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
Ben API olayından vazgeçtim zaten. Direkt sayfalarını alıp yorumluyorum >:)
 

yoktur

0
İyinet Üyesi
Katılım
28 Ekim 2004
Mesajlar
2,366
Reaction score
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:
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
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...
 

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