PDA

View Full Version : سوال: مشکل با حرف -ی- در sql 2000



شرلوک هلمز
پنج شنبه 08 مرداد 1388, 09:54 صبح
من یک دیتابیس در sql2000 دارم که collation name آن را arabic_CI_AI قرار دادم و داخل آن یک فیلد nvarchar دارم که برای نام خانوادگی استفاده میشود حالا اگر نام خانوادگی شامل حرف -ی- باشد جستجو درست انجام نمیشود اما اگر حرف -ی- در نام خانوادگی نباشد جستجو درست انجام میشود کسی میداند مشکل از کجاست
مثال
select * from table1
where name='ملکی'
جستجو ناموفق بخاطر حرف -ی- با اینکه نام ملکی در جدول وجود دارد
select * from table1
where name='برمر'
جستجوموفق چون حرف -ی- در نام برمر وجود ندارد

m0rteza
پنج شنبه 08 مرداد 1388, 11:28 صبح
دوست عزیزم از لینک زیر استفاده کن
http://barnamenevis.org/forum/showthread.php?t=154941

HDDSoft2001
پنج شنبه 08 مرداد 1388, 11:36 صبح
با سلام


من برای این کار اینطور عمل کردم. که یکی مال 'ک' و یکی مال 'ی' می باشد.



public static string ConvertCharFaToAr(string s)
{
string t = s.Trim().Replace((char)1740, (char)1610);
return t.Replace((char)1705, (char)1603);
}

public static string ConvertCharArToFa(string s)
{
string t = s.Trim().Replace((char)1610, (char)1740);
return t.Replace((char)1603, (char)1705);
}

HDDSoft2001
پنج شنبه 08 مرداد 1388, 11:41 صبح
سلامی دوباره

آقا شرمنده فراموش کردم بگم (رو حساب زرنگ بازی برای تعداد پست ها نذارید چون نتونستم ویرایشش کنم) وقتی می خواهی اطلاعات رشته ای رو توی بانک ذخیره کنی ابتدا توسط توابعی که گفتم به صورت عربی ذخیره می کنی و سپس وقتی خواندی تبدیل به فارسی می کنی.
در ضمن موقع جستجو هم به صورت عربی کاراکترها را می فرستی.(کلا به زبان عرب با بانک کار کن :لبخند:)

شرلوک هلمز
پنج شنبه 08 مرداد 1388, 22:23 عصر
ممنون از توجه تان اما من در داخل برنامه که به زبان c# نوشته شده مشکلی ندارم چون کلمات را بصورت پارامتر ارسال میکنم
این مشکل در خود SQL وجود دارد مثلا هنگام استفاده از query analizer