View Full Version : مشکل در جستجوی فارسی
mohsen.nsb44
جمعه 11 فروردین 1391, 16:35 عصر
سلام به همه
من در asp.net یک استورپروسیجر برای فیلتر کردن یکسری از عنواین را دارم کد زیر رو مینویسم درست کار میکنه
select * from amlak where fName ='home'
اما زمانی که به صورت فارسی بخوام عمل فیلتر کردن را انجام بدم کد بالا کار نمیکنه(فقط به جای home مینویسم خانه)
hamid_shrk
جمعه 11 فروردین 1391, 17:52 عصر
اول اینکه فیلتون باید از نوع nvarchar باشه.
و بهتره بجای = از like استفده کنید و ورودیتون رو هم با '%' جمع کنید :
SET @name='%'+@name+'%'
-----------
WHERE dbo.Product.[name] LIKE @name
mohsen.nsb44
جمعه 11 فروردین 1391, 17:58 عصر
اول اینکه فیلتون باید از نوع nvarchar باشه.
و بهتره بجای = از like استفده کنید و ورودیتون رو هم با '%' جمع کنید :
SET @name='%'+@name+'%'
-----------
WHERE dbo.Product.[name] LIKE @name
دوست عزیز دقیقا طبق گفته شما هم عمل کرده بودم اما باز جوابی نگرفتم
hamid_shrk
جمعه 11 فروردین 1391, 18:18 عصر
خوب حالا یک N بذار پشتش اینجوری :
dbo.Product.[name] = N'خانه'
mohsen.nsb44
جمعه 11 فروردین 1391, 18:44 عصر
خوب حالا یک N بذار پشتش اینجوری :
dbo.Product.[name] = N'خانه'
اینم امتحان کردم اما متاسفانه جواب نداد
mohsen.nsb44
جمعه 11 فروردین 1391, 18:53 عصر
زمانی که با پارامتر ارسال کردم حل شد اما زمانی که در خود استورپروسیجر برابر یک مقدار فارسی قرار میدادم کار نمیکرد به هر حال تصمیم گرفتم با پارامتر ارسال کنم
hamid_shrk
جمعه 11 فروردین 1391, 19:02 عصر
بله میخواستم بگم این رو که مستقیم ننویسید.
شما Collation دیتابیستون احتمالا Arabic نیست
lastmory
جمعه 11 فروردین 1391, 19:40 عصر
سلام
Collation دیتابیستون رو تغییر بدید به این
ببینید حل میشه
84932
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.