View Full Version : جستجو بر اساس فیلد فارسی در SQLite ؟؟؟
poorman
دوشنبه 19 اسفند 1392, 11:21 صبح
سلام دوستان
وقتتون بخیر
من توی جستجوی فارسی به مشکل خوردم
SQLite حروف فارسی رو خوب نمیشناسه
خیلی دنبال جواب گشتم اما پیدا نکردم ، خواهشا از دوستان اگر کسی این مشکل رو حل کرده لطف کنه راهنمایی کنه
توی اکلیپس یا SQLite Browser فرقی نداره ، هر دو جا با سرچ فارسی در حالت عادی خوب جواب نمیده
دوستانی که احیانا روی دیکشنری فارسی به انگلیسی کار کردن یا همچین برنامه هایی که به سرچ فارسی نیاز دارن کمک کنن :افسرده:
Mehrnaz_k
دوشنبه 19 اسفند 1392, 13:54 عصر
مشکل سرچ گاهی به دلیل وجود عبارتهایی مثل "ی" عربی در متن مورد نظر یا کیبرد اندروید یا... به وجود میاد.
poorman
دوشنبه 19 اسفند 1392, 15:04 عصر
درسته مشکل بیشتر مال همین حرف "ی" هست
برای حلش باید چکار کرد حالا ؟؟؟
saeed_g21
سه شنبه 20 اسفند 1392, 12:43 عصر
اینم یک الگو
String search2 =txt_search.getText().toString();
String search1 = search2.replace
"ی", "ي");
Amir Oveisi
سه شنبه 20 اسفند 1392, 13:33 عصر
با خط فاصله هم مشکل داره! (البته وقتی query فارسی باشه)
poorman
سه شنبه 20 اسفند 1392, 16:14 عصر
با خط فاصله هم مشکل داره! (البته وقتی query فارسی باشه)
درسته فعلا گیر من همین فاصله هست مثل اینکه !!!
چون "ی" رو با دستوری که سعید جان نوشت درست کردم
saeed_g21
سه شنبه 20 اسفند 1392, 16:41 عصر
درسته فعلا گیر من همین فاصله هست مثل اینکه !!!
چون "ی" رو با دستوری که سعید جان نوشت درست کردم
خوشحالم که کارت راه افتاد متوجه نمیشم اشکال فاصله چیه میشه یک مثال بزنی ؟
poorman
سه شنبه 20 اسفند 1392, 17:21 عصر
فهمیدم مشکلم کجاست، من اطلاعات دیتابیس رو از فایل HTML کپی کردم، وقتی خودم تایپ کنم توی سرچ کردن جواب نمیده
اما وقتی همون اطلاعات رو از فایل HTML کپی کنم توی سرچ درست جواب میده
حالا موندم چکار کنم که این مشکل رو حل کنم !!!
saeed_g21
سه شنبه 20 اسفند 1392, 20:43 عصر
Query سرچت چیه ؟
اینطوری استفاده کردی ؟
select * from db where id=String
اگه بله بهتره به صورت زیر استفاده کنی
select * from db where id like '%string%'
با Query بالا میتونی چند حرف رو بدی تا چیزایی که حاوی اون حرفها هست رو پیدا کنه چه با اون حرف شروع شده باشه چه با اون حرف تمام شده
درمورد جستجوت بهتره چیزی جستجو کنی که حاوی ک ، ی نباشه چیزی شبیه سلام یا من اینا بزن ببین جواب میده احتمالا چیزی که تو جستجو میکنی ک هم داره که در زبان عربی و یا خود فارسی در بعضی از ویندوز ها به صورت دیگه ای نوشته میشه برا همین پیدا نمیکنه که بایستی اون رو هم Replace کنی تا مشکلت حل بشه
poorman
سه شنبه 20 اسفند 1392, 21:46 عصر
تشکر سعید جان، من با اینکه قبلا توی VB.NET به این مشکل خورده بودم اصلا یادم نبود که حرف "ک" و "ی" جزء حروف مشکل دار عربی هستن
حالا من دیتابیسم آماده شده، برای اینکه درستش کنم باید همه اطلاعات ستون ها رو اصلاح کنم که البته کار زیاد سختی نیست
با این دستورات توی SQLite Browser میشه اطلاعات هر ستون رو اصلاح کرد
update table set column = replace(column, "ي", "ی");
update table set column = replace(column, "ك", "ک");
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.