PDA

View Full Version : رفع مشکل کلمات "ی" و "ک" در جستجو



iranianprogrammers
یک شنبه 19 اسفند 1386, 19:32 عصر
سلام دوستان .
حتما میدونید کلمات "ی" و "ک" در جستجو روی بانک اطلاعاتی چه مشکلاتی رو ایجاد میکنند .
بدین صورت که در زبان عربی حرف "ی" 2 نقطه در زیرش داره و در زبان فارسی "ى" هیچ نقطه ای زیرش نداره .
همینطور کلمه ی "ک" که در زبان عربی سرکش "ک" نداره و در زبان فارسی سرکش داره "ک" .
مشکل از اینجا ناشی میشه که هنگام جستجو روی بانک اطلاعاتی اگه کدپیج ویندوز شما با کدپیج کلمات "ک" و "ی" فاجعه عظیمی رخ میده و هیچ کدوم از این جستجو ها درست یافت نمیشن .
من خودم یه برنامه کوچولو نوشتم که این مشکل رو رکورد به رکورد با تعویض کارکترهای درست میکنه (سرعت قابل قبولی هم داره) .
حالا اگه دوستان به روش دیگه ای این مشکل رو حل کردند لطفا بفرمایند تا ما هم استفاده کنیم .
وگرنه من برنامه رو طوری طراحی کنم که بشه در بیشتر موارد ازش استفاده کرد و همراه با سورسش همینجا بذارم .

iranianprogrammers
یک شنبه 19 اسفند 1386, 19:36 عصر
راستی یک نکته جالب این که این سایت این مشکل را با پردازش روی کلمات در هنگام ذخیره رو بانک و قبل از جستجو حل کرده .
دقیقا همین کار باید بعد از ترمیم بانک انجام بشه .

dkhatibi
یک شنبه 19 اسفند 1386, 19:39 عصر
راهی که قبلا گفته شده بود. همینه که شما می گید.
در رویداد OnkeyPress یا شبیه اون کد دو حرف را به هم تبدیل می کنند تا این مشکل پیش نیاید.
این سایت هم همین کار و ولی یک کم حرفه ای تر می کنه!
بارها هم گفته شده است.

iranianprogrammers
یک شنبه 19 اسفند 1386, 20:16 عصر
مسله اصلی اینه که اگه یه بانک اطلاعاتی داشته باشیم که به اطلاعات زیادی به همین صورت روش ذخیره شده باشن .
اگه دوستان قبلی ابزاری رو آماده کردن لطف کنن در اختیار بقیه بگذارن .

dkhatibi
دوشنبه 20 اسفند 1386, 12:31 عصر
یک کد برای تبدیل حروف تو سایت هست.

SYNDROME
دوشنبه 20 اسفند 1386, 18:36 عصر
قبل از ایجاد تاپیک جستجو کنید.
لینک زیر را نگاه کنید.
http://barnamenevis.org/forum/showthread.php?t=71262
موفق باشید

ICEMAN
چهارشنبه 04 اردیبهشت 1387, 10:04 صبح
میشه شما رو سیستمی که برنامه رو مینویسی از اون .dll صفحه کلید فارسی استفاده کنی و اونو روی سیستم کاربر هم نصب کنی این ساده ترین راه هست

SYNDROME
چهارشنبه 04 اردیبهشت 1387, 22:59 عصر
میشه شما رو سیستمی که برنامه رو مینویسی از اون .dll صفحه کلید فارسی استفاده کنی و اونو روی سیستم کاربر هم نصب کنی این ساده ترین راه هست
اگر برنامه دیگری روی سیستم نصب باشد ممکن است با کار شما برنامه فوق دوچار مشکل بشود.
موفق باشید

kamrannazari
چهارشنبه 12 اسفند 1388, 03:04 صبح
من اين مشكل رو با يك ترفند كوچولو حل كردم چون توي وب سايت همين مشكل رو داشتم چون بعضي ها مي اومدن با كي بردهاي متفاوت و جستجو مي كردن ولي بعضي وقتا نتيجه جستجو نمايش داده نمي شد.
اگر كاربر كلمه "كبري" رو بخواد جستجو كنه شما مي بايست يك متن ديكه عين همين با كد پيج متفاوت درست كنيد و بعد اونو جستجو كنيد به همين راحتي


st1='كبري';

//152 ك
//در اين قسمت كد ديگه رو با كد جديد جايگزين كنيد


sql='select * from table where name=N'+QuotedStr(st1)+' or name=N'+QuotedStr(St2);