سلام دوستان ، ببخشید اگر تایپیک ایجاد کردم. اما یک مشگل دارم که برای پروژم حلش واجب. برنامه من قرار دیکشنری باشه تو زبان #C و پایگاه داده اکسس که شمال چهار زبان فارسی و عربی و ترکی و انگلیسی. من سه زبان رو انجام دادم اما در زبان ترکی به مشکل برخوردم که اونم مشکل فو نتیک حساب میشه برای مثال :کلمه (Güçlü fikirli) در زبان ترکی داری دو حرف (ü) میباشد که همین دو حرف در عمل جستوجو مشکل ساز میشود. من کدی که باهاش ارتباط دادم و عمل سرچ انجام میدم قرار میدم شما بگید چطور این مشکل رو حل کنم . واقعا ممنون میشم اگر کمکم کنید.
کد #C:
{ string FaWord = DataSET.Tables["CSDic"].Rows[m].ItemArray[3].ToString() .ToLower(); string box1; box1 = BOX1.Text; if (string.Compare(FaWord,box1) == 0) { BOX2.Text =DataSET.Tables["CSDic"].Rows[m].ItemArray[0].ToString() .ToLower(); LBFound.Text = FaWord; BOX1.Text = ""; Pr.Value = cn; P.Visible = true; break; } }
با تغییر کاراکترهای خاص ترکی به لاتین می تونید این مشکل رو حل کنید و جستجوی خودتون رو بر حسب کاراکترهای لاتین انجام بدید . برای این کار می تونید از متد زیر استفاده کنید :
public static string ConvertTurkishChars(string text) { String[] olds = { "Ğ", "ğ", "Ü", "ü", "Ş", "ş", "İ", "ı", "Ö", "ö", "Ç", "ç" }; String[] news = { "G", "g", "U", "u", "S", "s", "I", "i", "O", "o", "C", "c" }; for (int i = 0; i < olds.Length; i++) { text = text.Replace(olds[i], news[i]); } return text; }
ممنون از پاسخ شما دوست عزیز. من از تابع Replace به عنوان تک حروفیم استفاده کردم مشکل حل نشده بعد کمی دیباگ کردن متوجه شدم مشکل من توی textbox نیست بلکه متنی که باهاش مقایسه انجام میشهیعنی مقداری که از فیلد خوانده میشه اون نمیشه حروف ترکیش را عوض کردی یعنی : متغییر faword که نمیشه مقدار اونو replace کرد. خواهشن کمک کنید
string FaWord = DataSET.Tables["CSDic"].Rows[m].ItemArray[3].ToString() .ToLower(); if (string.Compare(FaWord,box1) == 0)
شما با متد بالا هم مقدار texbox و FaWord را Replace کردید و سپس مقایسه کردید؟
مشکل منم همینجاس وقتی faword را replace میکنم اعمال نمیشه روش دقیقا همون مقداری که از پایگاه داده خونده رو بر میگردونه.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)