PDA

View Full Version : ذخیره توی Sql و تغییر در حروف مثلا ی به ي



pouria_bayat
پنج شنبه 07 خرداد 1394, 10:29 صبح
سلام دوستان من چندتا گروه کاربری تعریف کردم مثلا مدیر ولی وقتی که میخواهم با شرط کنترل کنم که مقادیر ذخیره شده برابر باشه با مقادیر ورودی مثلا


if (string.Compare(groups.Name, "مدیر") == 0)
{
}

هیچ موقع برابر نیست چک کردم دیدم هر دو مقدار یکیه بنابراین رشته ها رو تبدیل به کاراکتر کردم و چک کردم دیدم که تفاوتشون توی حرف ی , ي هستش موندم توش چی کار کنم!!! بعد از ذخیره رتوی SQL خودکا به ی تبدیل میشه ولی توی محیط ویژوال هر کاری میکنم به صورت ي نشون میده.

محمد رضا فاتحی
پنج شنبه 07 خرداد 1394, 10:41 صبح
خوب قبل از ثبت توی دیتابیس ي رو به ی تبدیل کن
من از این تابع استفاده می کنم تا حالا هم بدون مشکل جواب داده
همه حالت ها رو هم در نظر می گیره ی و ک
public static string changetext(string text) {
string oldstr = char.ConvertFromUtf32(1609);//ی
string oldstr1 = char.ConvertFromUtf32(1610);
string newstr = char.ConvertFromUtf32(1740);
string oldstr2 = char.ConvertFromUtf32(1603);
string newstr2 = char.ConvertFromUtf32(1705);
string newstr3 = char.ConvertFromUtf32(32);
string oldstr3 = char.ConvertFromUtf32(160);
text = text.Replace(oldstr1, newstr);
text = text.Replace(oldstr2, newstr2);
text = text.Replace(oldstr3, newstr3);
return text;


}

pouria_bayat
پنج شنبه 07 خرداد 1394, 11:12 صبح
سلام ممنون جالبیش به اینه که توی پایگاه ی ذخیره میشه نه ي و توی ویژوال هرکاری میکنم ي هستش نه ی در کل ممنون اینرو هم تست کردم ولی مجبور شدم یک فیلد جدید به رکورد جدولم برای چک کردن اضافه کنم.

group45
پنج شنبه 07 خرداد 1394, 16:26 عصر
با سلام
به نظر من بهتره شما تو برنامتون از واژگان انگلیسی استفاده کنید تا با مشکلات یونیکد مواجه نشید
من با همچین مشکلی برخورد کردم اونم به خاطر نصب بودن الفبای عربی در ویندوز تارگت بود.
به هر حال اومدم یکی از اون ی ها رو کپی کردم و یه برنامه نوشتم که هر چی ی عربی ببینه رو به ی فارسی تبدیل کنه در واقع دستور آپدیت در اس کیو ال