View Full Version : سوال: مشكل جستجوي حرف ك و ي
abbasegold
جمعه 22 شهریور 1387, 20:20 عصر
سلام
من يك Web Application نوشته ام كه DB آن SQL Server 2005 است.
حال براي جستجوي كلماتي كه داراي حرف ي و ك و ... هستند مشكل دارم. شنيده ام كه براي رفع اين مشكل مي توان تنظيماتي در SQL Server اعمال نمود. خواهشمندم كه اگر راه حلي داريد بفرمائيد.
amin_alexi
شنبه 23 شهریور 1387, 10:01 صبح
سلام
من در سيستم هايي كه قراره ورود اطلاعات بشه kbdfa.dll رو دستي ميريزم تو System32 !!!
تا مدل ورود اطلاعات همه به يك صورت باشه (براي حروف) !!
مي توني تمام "ي" و "ك" ها رو تو DB عوض كني ! و بعد تمام كساني كه ميخوان از WebApplication شما استفاده كنن رو ملزم به استفاده از يك kbdfa.dll واحد كني ! (كه اگه در web و در سطح گسترده باشه كاه سختيه !!!)
ويا ميتوني در همگام Search كلمه اي كه توش "ي" داره رو با دو مدل "ي" بگردي !!!
NewFoxStudent
شنبه 23 شهریور 1387, 11:12 صبح
در هنگام جستجو از N استفاده کنید
Select ID From TableName where Name = N'علی'
abbasegold
شنبه 23 شهریور 1387, 12:04 عصر
با تشكر از شما
NewFoxStudent روش شما جواب نداد. من از ابتدا براي تمام فيلدهاي متني از N استفاده كرده بودم. ولي براي اين منظور موثر نبود.
من روش بهتري براي اين منظور پيدا كردم. فقط ليست حروفي كه در اين حالت مشكل دارند را نياز دارم.
اگر داريد آن را به من بدهيد.
NewFoxStudent
شنبه 23 شهریور 1387, 12:15 عصر
تمام حروفی که روی کیبورد دارای دو کد اسکی هستند
مثل ی 236,237
abbasegold
شنبه 23 شهریور 1387, 12:17 عصر
خب اگر بخواهم ليست كدهاي حروف را در هر دو حالت داشته باشم بايد از كجا پيدا كنم ؟
NewFoxStudent
شنبه 23 شهریور 1387, 12:19 عصر
میتونی تو خود Sql یه Select بنویسی که حروف مربوط به اعداد 1 تا 255 را لیست کنه
abbasegold
شنبه 23 شهریور 1387, 12:28 عصر
لطف مي كنيد دستورش رو بگيد.
NewFoxStudent
شنبه 23 شهریور 1387, 12:41 عصر
create Table tmp(charCode int,charch char(1))
declare @i int
set @i=1
WHILE @i<=255
BEGIN
insert into tmp(charCode,charch) values(@i,char(@i))
set @i = @i+1
END
abbasegold
شنبه 23 شهریور 1387, 13:13 عصر
دستت درد نكنه ولي كاراكترهاي UniCode درست ذخيره نشد و من نتونستم چيزي ببينم.
hamed_gibago
شنبه 23 شهریور 1387, 13:44 عصر
برای جستجوی حرف ی باید از کلیدهای کلیدی Shift+ x استفاده کنی
abbasegold
سه شنبه 26 شهریور 1387, 18:14 عصر
حامد جان من كه نميتونم به همه كاربراي سايت بگم كه چجوري حرف ي و بقيه رو وارد كنند!!!
KambizZandi
چهارشنبه 27 شهریور 1387, 00:48 صبح
2 تا کار بايد انجام بدي:
1- تمام ديتا هايي رو که ميخواي تو db بريزي رو اصلاح کني. يعني حروف "ي" و "ک" رو به "ي" و "ک" خاصي تبديل کني
2- وقتي تو فرم ها کاربر چيزي تايپ ميکنه با همون روش بالا اول اونو اصلاح کني بعدش بدي به db تا درست کار کنه
samprp
چهارشنبه 27 شهریور 1387, 05:14 صبح
سلام
من قبلا یه همچین مشکلی داشتم البته با دلفی کار می کردم . (دلفی 7 ) با ک نمی دونم ولی با ی مشکل این بود که اصلا SELECT هایی که تو بررسی شروطش یه حرف دارای یوجود داشت کار نمی کرد . خیلی هم این در و اون در زدم درست نشد .
آخر سر بعد از اینکه به دلفی 2007 آپگرید کردم مشکل خود به خود رفع شد.
به نظرم به ورژن برنامه ای که باهاش کار می کنی هم ربط داره .
در ضمن می تونی هنگام گرفتن حرف ی یا ک تو اون ادیت باکسی که هست قبلش اونو تبدیل کنی و بعد ذخیرش کنی .
موفق باشی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.