PDA

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



Ebrahim11
جمعه 15 اردیبهشت 1391, 22:31 عصر
کسی راه حلی برای مشکل جستجوی کلمه "ی" و "ک" فارسی در دیتابیس نداره ؟

barbodsoft.com
جمعه 15 اردیبهشت 1391, 22:45 عصر
باید بجای


select name from table where name='مهدی'

بنویسی


select name from table where name=N'مهدی'

barbodsoft.com
جمعه 15 اردیبهشت 1391, 22:56 عصر
باید بجای


select name from table where name='مهدی'

بنویسی


select name from table where name=N'مهدی'

majidjan
شنبه 16 اردیبهشت 1391, 03:40 صبح
بسم الله الرحمان الرحیم
با عرض سلام و تحیت، جواب پاسخ شما به شرح زیر می باشد:
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/why-do-some-sql-strings-have-an-n-prefix.html
یا علی.

ali reza mansoori 2
شنبه 16 اردیبهشت 1391, 23:33 عصر
میتونی متنی که کاربر جستجو می کنه رو تغییر بدی
TextBox1.Text = TextBox1.Text.Replace("ی", "ي")
به عنوان مثال برای حرف "ي" میتونی از شیفت و ایکس استفاده کنی

sinaone1
یک شنبه 17 اردیبهشت 1391, 08:34 صبح
collation Persian_100_CI_AS
این دیتا بیس شما رو به فارسی ساپورت تبدیل میکنه