PDA

View Full Version : مشکل در جست و جوی بعضی از کلمات پارسی



HRC123
شنبه 16 اردیبهشت 1391, 20:43 عصر
با سلام
من یه برنامه دارم با دیتا بیس اس کیو ال سرور 2008 وقتی کدهای مربوط به جست و جو رو مینویسم بعضی از کلمات رو پیدا می کنه ولی بعضی از کلمات رو پیدا نمی کنه ولی کل کلمات انگلیسی و اعداد رو به صورت کامل پیدا می کنه چکارش کنم داره دیونم می کنه کل کالکشناشم تست کردم
ممنونم

محسن شامحمدی
شنبه 16 اردیبهشت 1391, 21:17 عصر
با عبارات ی و ک مشکل داره؟
می تونید هنگام نصب از encoding عربی استفاده کنید.
و یا
قبل از جستجوی کلمه ی را به ي و ک را به ك تبدیل کنید

HRC123
شنبه 16 اردیبهشت 1391, 21:48 عصر
تو هر کالکشن با یه کلمه مشکل داره اصلا دیونم کرده

HRC123
دوشنبه 18 اردیبهشت 1391, 10:48 صبح
الان که چک کردم مشکل از همون ی و ک هست چکارش باید بکنم؟؟؟؟

HRC123
دوشنبه 18 اردیبهشت 1391, 10:53 صبح
انگکدینگ عربی هم امتجان کردم جواب نداد

یوسف زالی
دوشنبه 18 اردیبهشت 1391, 17:36 عصر
دوست عزیز این فکر می کنم 60 امین باره که همچین سوالی مطرح می شه.
سرچ دوست من، به سرچ اعتقاد پیدا کنید.

majidjan
دوشنبه 18 اردیبهشت 1391, 22:11 عصر
بسم الله الرحمان الرحیم
با عرض سلام و تحیت، جواب پاسخ شما به شرح زیر می باشد:
1- هر رشته در sql بصورت رشته ای از کاراکترها می باشد و هر کارکتر یک بایت است که این استاندارد برای استاندارد ASCII می باشد ولی برای استفاده زبان هایی بجوز زبان انگلیسی همچون فارسی باید از نوعی به نام nvarchar استفاده کرد. اگر دقت کنید تنهاتفاوت نوشتاری این نوع با دیگر نوع ها حرف n می باشد که به معنای Unicode می باشد. sql برای این نوع از تبدیل UTF-8 استفاده می کند.
2-فراموش نکنید که collation دیتابیس خود را بر روی "Persion_100_CI_AS " یا "Arabic_CI_AS " تنظیم کنید.
3- پس از تشکیل جدول، اگر قرار باشد ستونی در خود رشته ای به زبان فارسی ذخیره کند باید نوع آن ستون از نوع nvarchar باشد.(طول رشته به انتخاب خودتان)
نکته بسیار مهم:
برای اجرای هر دستوری که رشته ای را بر می گرداند یا بروزرسانی می شود یا اضافه می شود و یا هر چیز دیگر باید قبل از قرار گیری کوتیشن(')، پیشوند N را قرار دهید تا به مفسر sql اعلام کنید که این رشته از نوع uNicode است.
به مثال های زیر توجه کنید :
INSERT INTO [family]([name],[family]) VALUES (N
'علی',
N
'محمدی'
(
Select * From family Where family
=
N
'محمدی'
مرتب سازی هم اگر با این روال رکوردها را وارد دیتابیس بکنید بصورت کاملا صحیح صورت می پذیرد.
برای مطالعه بشتر می توانید به سایت زیر مراجعه کنید :
http://databases.aspfaq.com/general/...-n-prefix.html (http://databases.aspfaq.com/general/why-do-some-sql-strings-have-an-n-prefix.html)
یا علی.