• 10-05-2009, 07:14:16
    #1
    Üyeliği durduruldu
    Değerli Arkadaşlar,

    Access veri tabanı kullanıyorum. Veri tabanım içerisinde

    abc.Open ("SELECT * FROM eser where icerik like '%" &trim(aranacak)&"%'"), Baglanti, 1, 3

    şeklinde arama yaptırıyorum (aranacak, request.form ile alınıyor); fakat bazı karakterleri algılamıyor. Mesela ı İ â Â î Î vs. Diyelim ki veri tabanımda kemâl diye kayıt var, biz birebir kemâl diye arattığımızda bunu buluyor, ama kemal diye yazınca bulmuyor, sadece bir şapka yüzünden.

    aranacak = replace(aranacak,"â","%") ile yapıyorum, ama bu kez de çok fazla ilgisiz kayıt çıkıyor.

    Bunun bir çözümü var mı? Lütfen yardımcı olun. Çok teşekkür ederim...
  • 10-05-2009, 10:12:13
    #2
    kesin bir bilgim yok ama şöyle olacağını düşünüyorum.

    İ nin karşılığı sanırım Ŷ

    bunu replace(aranan, "İ", "Ŷ")

    yaparsak sanırım arama yapar. en kısa zamanda bende deneyeceğim.
  • 10-05-2009, 10:40:00
    #3
    Üyeliği durduruldu
    Maalesef olmadı...
  • 10-05-2009, 10:46:50
    #4
    İnşaat aramasında İnsaat sonuçları çıkıyor ama inşaat sonuçları çıkmıyor.
    aramayı yaptıktan sonra birde çalışmayan harfleri küçültüp arama yaparsan belki olabilir.

    replace(aranan, "İ", "i")

    sorguyada şunu yazarsın.

    like '%" &trim(aranacak)&"%'" or like '%" &trim(aranacak2)&"%'"

    buda bir fikir.
  • 10-05-2009, 11:02:48
    #5
    Üyeliği durduruldu
    Aslında bence bu kadar uğraşmaya gerek yoktur; çok basit bir çözümü mutlaka vardır. Eğer bu kadar zor ve karışık olsaydı mutlaka daha önceden dile getirilirdi. Bence atladığımız bir nokta var. Bakalım, belki daha önce bu konuda tecrübesi olan biri bir şeyler yazar...
  • 10-05-2009, 11:07:22
    #6
    replace ile türkçe karakterleri Entity Codes haline getir.
    misal â için bu kod: â

    yardımcı olacak bi liste için buraya bak:
    HTML Accent Entity Codes
    -bu da bi fikir, çalışır inşallah-
    (kodlarken, tr karakterlerin alayını bu kodlarla yapsan da olur, bazı encoding problemlerini çözemeyince en son buna başvuruyorum ben, replace all yapıp türkçe karakterleri kodlarına çevirerek)
  • 10-05-2009, 11:46:05
    #7
    Üyeliği durduruldu
    Maalesef bu da işe yaramadı...
  • 10-05-2009, 23:25:20
    #8
    Üyeliği durduruldu
    Select * from Tablo where alanadi like N'%" & aranan & "%' collate Turkish_CI_AS

    şeklinde sorgulama yap. hem aradığını nokta atışı bulur. türkçe karakter probleminede çözüm olur.

    olurda hata verirse veriyi
    aranan=Request.QueryString("vsvsvs") diye almayı dene birde. alacağın sayı ise metin ise farklılık gösterir biliyorsun.
  • 11-05-2009, 08:02:46
    #9
    Üyeliği durduruldu
    Cevap için teşekkürler sektortr; ama verdiğiniz kod collate Turkish_CI_AS çalışmadı. Sanırım bu kod MySQL'de çalışıyor sadece.