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...
Like arama sorgusu ve Access veri tabanı
12
●3.145
- 10-05-2009, 10:46:50İ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Üyeliği durdurulduAslı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:22replace 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, 23:25:20Üyeliği durdurulduSelect * 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.