مشکل در جستجو فارسی با SQLite ؟

سلام
چرا جستجوی فارسی در Sqlite برای من مشکل داره در حالی که انگلیسیش نداره؟
دیتابیس رو با SqlDataBrowser ساختم و جستجو با دستور Like می نویسم و جواب رو درست بر می گردونه چه فارسی چه انگلیسی ولی تو برنامه همون اسکریپت sql رو که استفاده می کنم جستجوی فارسیش کار نمی کنه.
دستور sql که درسته چون انگلیسی گفتم که جواب می ده
select * from table where filed1 like '%saerch%' or field2 like '%search%'
تو برنامه با کار روی پارامترهای رشته ای دقیقا دستور رو پیاده سازی می کنم.

سوال و یه اشکال کوچک از آقای SilverCover استاد این زمینه
سوال :
از روی کدهای شما جستجو رو پیاده کردم دیدم جستجوی فارسی شما مشکل نداره ولی فکر نمی کنید شاید مشکل من این باشه که مثل شما درج اطلاعات دیتابیس رو از طریق برنامه انجام ندادم و با Sqldatabrowser که فکر کنم اونم شاهکار شماست اون را انجام می دم به مشکل می خوره؟
اشکال:
تابع ReadAllRows شما درست کار می کنه ولی فکر می کنم یه مشکل کوچک تو منطقش داره اونم استفاده از دو حلقه است. شما بعد از مقدار دهی یه فیلد مثلا id دستور message رو بنویسید ببنید چند بار مقدار میشه (اونم الکی) اگه حلقه دوم رو حذف کنید و در همون حلقه اول بنویسید درست میشه.
شاید به چشم نیاد ولی در دیتابیس های بزرگ تر احتمال کندتر شدن داره.
جسارتا من یه چیزایی توی درس طراحی الگوریتم ها خوندم به نام مرتبه اجرایی و ...
مرتبه اجرایی دو حلقه n به توان 2
و مرتبه اجرایی یک حلقه n است.

تشکر:rose:
 

silvercover

کاربر متخصص
اگر شما درج داده ها (فارسی) رو از طریق SQLite Browser انجام داده باشید در حین جستجو در بیلدر به مشکل بر میخورید. دلیلش هم این هست که بیلدر از استاندارد Unicode و UTF-8 پشتیبانی نمی کنه. برای حل مشکل باید داده ها از طریق خود بیلدر درج یا تبدیل بشه. برای توضیحات بیشتر مباحث دیکشنری جناب Nevercom رو دنبال کنید.

در مورد حلقه تو در تو هم حق با شماست. میشه اون رو جدا نوشت تا تکرار کاسته بشه. یعنی حلقه داخلی بیاد بیرون. حدسم اینه که دلیل اینطور نوشتن من یه چیز دیگه بوده که در نهایت فراموش کردم اصلاحش کنم.

ممنونم.
 
تشکر
خودم حدس می زدم مشکل از اون باشه
می تونم درج رو به وسیله mmb هم پیاده کنم (البته از روی مثال شما)
ولی این sqldatabrowser که شما نوشتید خیلی userFriendly هست و کار راحت تر. اونو با چی نوشید که این مشکل رو داره؟ مگه با mmb نیست؟
ولی اگه شما این لطف رو در حق mmb کار ها بکنید درج فارسی اون رو درست کنید خیلی خوب میشه.
:rose:
 

silvercover

کاربر متخصص
برنامه SQLite Browser رو بنده ننوشتم و کار یه شخص دیگه هست. لذا چون از اول بر مبنای یونیکد پایه ریزی شده و بر خلاف بیلدر از استاندارد ANSI پیروی نمیکنه مشکلی درش دیده نمیشه.

شاید در آینده برنامه ای مشابه SQLite Browser رو با بیلدر نوشتم که کار رو راحت تر کنه. شاید هم خود شما خواستین دست به کار بشین و یک پروژه رو تحویل جامعه بیلدر کار ها بدین که هم برای شما سابقه بشه و هم اینکه نشون بده شما یه مشتاق واقعی کامپیوتر هستین. مگه نه؟
 
دوستان من دوست دارم sqldatabrowser رو با mmb پیاده کنم ولی برا من که تازه کارم چند روز طول می کشه و الان وقتش رو ندارم
درگیر کار و پروژه و درس و دانشگاهم
تا یک ماه آینده اصلا وقت نمی کنم.
انشاء ا... از بین این همه استاد خیر یکی پیدا میشه و اون را می نویسه
من هم سعی می کنم چند تا نمونه برنامه که دارم کار می کنم بذارم.:neutral:
 

silvercover

کاربر متخصص
دوستان من دوست دارم sqldatabrowser رو با mmb پیاده کنم ولی برا من که تازه کارم چند روز طول می کشه و الان وقتش رو ندارم
درگیر کار و پروژه و درس و دانشگاهم
تا یک ماه آینده اصلا وقت نمی کنم.
انشاء ا... از بین این همه استاد خیر یکی پیدا میشه و اون را می نویسه
من هم سعی می کنم چند تا نمونه برنامه که دارم کار می کنم بذارم.

ممنون از لطف شما. اما تجربه میگه شما بیخیال خواهید شد. :d
 
ممنون از لطف شما. اما تجربه میگه شما بیخیال خواهید شد. :d

تجربه درست میگه :lol:

ولی معنی این تشکر دوستان از شما رو نفهمیدم - یعنی خیلی موافقن ؟

من هم که نگفتم اینو پیاده سازی می کنم - می دونید که تازه کارم - ولی برای شما که کاری نداره
این تاپیک فکر کنم همینجا جمع میشه در حال حاضر و مطلب جدید بود یه تاپیک دیگه می زنیم

تشکر از شما دوستان
 

splinter cell

Well-Known Member
ولی معنی این تشکر دوستان از شما رو نفهمیدم - یعنی خیلی موافقن ؟

بعضی وقتها هست که یکی میاد و دقیق حرف دل آدم رو میزنه و اینطور مواقع تنها کاری که میشه کرد تشکر کردنه!

شما هم اگر یه مدت توی این انجمن تشریف داشته باشید و مواردی رو که ما دیده ایم ببینید بدون شک همین کاری که ما کردیم رو میکردید و از حرف حق حمایت میکردید!

ضمناً همه اونهایی که بقول شما حرفه ای هستند یه روز از یه جایی شروع کردند و با کمک بقیه که واردتر از اونها بودند تجربیاتی واسه خودشون کسب کردند و الان اینی شده اند که ما می بینیم.

پس شما هم هر موقع تصمیم کبری رو گرفتید شروع کنید .مطمئن باشید توی انجمن هستند دوستانی که کمکتون کنند.

موفق باشید دوست عزیز :)
 

جدیدترین ارسال ها

بالا