PDA

View Full Version : جستجوی کلمات فارسی در بانک اطلاعاتی



fyarahmadi
یک شنبه 19 فروردین 1386, 13:00 عصر
در قسمت جستجودر بانک اطلاعاتی سایتم عبارات فارسی را جستجو نمی کند ولی عباراتی که به انگلیسی می باشد را جستجو می کند باید چه کار کنم؟

Alireza_Salehi
یک شنبه 19 فروردین 1386, 13:32 عصر
دیتابیستون SQL 2000 ؟

اگه هست برای جستجو به جای اینکه رشته مورد نظر رو فقط در " " قرار بدید این طوری " "N استفاده کنید، در ضمن نوع فیلد هم باید NVarChar یا NChar یا NText باشه.

برای جستجوی یونی کد (فارسی ، عربی و....) همین کافیه.

ghabil
یک شنبه 19 فروردین 1386, 13:36 عصر
کلمه ای که توش "ی" و "ک" نباشه رو هم جستجو کن ببین بازم مشکل داری؟

اگر نداشتی اینو (http://barnamenevis.org/forum/showthread.php?t=64723)بخون

fyarahmadi
یک شنبه 19 فروردین 1386, 17:04 عصر
با تشکر
بانک اطلاعاتی من sqlserver 2005 هست و
و من چنین دستوری را جهت جستجو نوشته ام که بعد به صفحه جستجو می رود


Response.Redirect("Search.aspx?searchKey=" + searchTextBox.Text.Replace("'", "''"));

و به هر حالتی کاراکتر N را قرار دادم خطا می دهد نوع فیلد را nvarchar در نظر گرفتم

iman_22a
یک شنبه 19 فروردین 1386, 17:33 عصر
چه خطایی میده ؟

Alireza_Salehi
یک شنبه 19 فروردین 1386, 21:45 عصر
آیا پارامتر موجود در QueryStribg به طور صحیح بین صفحات رد و بدل میشه (فارسیش به هم میریزه یا نه)؟

آیا صفحات Unicode ذخیره شدند؟

در Query مورد نظرتون از چه عملگری (= , like , charindex()) برای مقایسه عبارات استفاده کردید؟

fyarahmadi
دوشنبه 20 فروردین 1386, 08:04 صبح
صفحات Unicode ذخیره شدند

در Query از عملگر like برای مقایسه عبارات استفاده کردم


فکر کردم که باید با توجه به گفته شما "N" را در این قسمت قرار دهم


Response.Redirect("Search.aspx?searchKey=" + N + searchTextBox.Text.Replace"'", "''") );

و وقتی به صفحه search می رود با این روش جستجو می کند ولی نحوه درست قرار گرفتن N را نمی دانم
SqlDataSource3.SelectCommand = "SELECT * FROM [TBL_categoriesproducts] Where pr_categoryID like '%" + Request.QueryString["searchKey"] + "%'";

j_a_sadeghi
دوشنبه 20 فروردین 1386, 09:54 صبح
بهترین راه اینه که اطلاعات رو بصورت پارامتر در بانک اطلاعاتی بریزید و به صورت پارامتر هم دریافت کنید.
objSQLAdapter.SelectCommand.Parameters.Add(New SqlParameter("@search", SqlDbType.NVarChar))
objSQLAdapter.SelectCommand.Parameters("@search").Value = txts

fyarahmadi
دوشنبه 20 فروردین 1386, 10:55 صبح
ممکنه بیشتر توضیح بدید؟

raravaice
دوشنبه 03 اردیبهشت 1386, 10:21 صبح
اطلاعاتی رو که میخوای با query بفرستی اول کد کن
Server.UrlDecode
Server.UrlEncode

rezabaghaie
دوشنبه 23 بهمن 1391, 21:25 عصر
منم توی "ی" و "ک" مشکل دارم!

میشه خلاصه بگید چکار کنم؟

fakhravari
دوشنبه 23 بهمن 1391, 21:38 عصر
یه نکته بگم که کسانی که از sp استفاده میکنن اگر از select های ترکیبی استفاده میکنید برای متغیراتون که رشته ای هستن سایز هم مشخص کنید nvarchar(50)

saeed31641
دوشنبه 23 بهمن 1391, 21:59 عصر
like N'%" +(TFamilSearchUser.Text )+ "%' "

meisam3322
دوشنبه 23 بهمن 1391, 23:28 عصر
برای جلوگیری از بروز مشکل در حروف گ و ی ، در هنگام ثبت قبل از مقدار دهی هر فیلد ، بعد از نوشتن نام فیلد و مساوی ، حرف N رو قرار بدین ، بعد مقدار رشته ورودی رو. توجه کنین که N حروف بزرگ باشه