سلام به بروبچ
من یه مشکل تو کد نویسی دارم و اون اینه که وقتی یه کلمه که توی اون حرف (ی) وجود داشته باشه رو پیدا نمی کنه به فرض مثال کد زیر
if(str1=="نقدی")
{
}
سلام به بروبچ
من یه مشکل تو کد نویسی دارم و اون اینه که وقتی یه کلمه که توی اون حرف (ی) وجود داشته باشه رو پیدا نمی کنه به فرض مثال کد زیر
if(str1=="نقدی")
{
}
سلام عزیز
اول اینکه با اجازه مدیر تالار ورودتون به این انجمن و جمع برنامه نویسان غیر حرفه(مثل خودم) و حرفه ای ها تبریک می گم بهترین جایی که در ایران می تونی مشکلات برنامه نویسی حل کنی اینجاست چون دوستان بی دریغ کمک می کنند
دوم اینکه شما باید سوال با کد کامل تر مطرح کنی سوالت نا مفهوم
گاهی هم با تعویض نسخه کمپایلر و ویندوز مشکل حل می شه
سلام بر دوست عزیز
کافیه فقط در sql در tabel خودت در فیلد مورد نظر که می تونه name باشه نوع اش رو
از نوع nvarchar یا ntext بگیری مشکلت حل مشه
این به خاطر اینه که فارسی سازها و فونت های مختلفی روی ویندوز ها نصب میشه و گاهی در دیتابیس 'ي' ذخیره میشه گاهی 'ی'
واسه همین در جستجو هم همین مشکل خودشو نشون میده
پیشتر یکی از دوستان کدی برای Replace ایندو در هنگام Insert و جستجو گذاشته بود که همیشه 'ی' ذخیره میشد و همیشه هم 'ی' می شد
جستجو کنید تا ... ;)
آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
آن لحظه،
لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .
برنولی
در sql میتونید از دستور زیر استفاده کنید
select 8 from mytable where name LIKE N'MYNAME'
همانطور که دوست عزیزمون گفت در sql حرف ي به جای ی ذخیره می شه . من هم همین مشکل رو داشتم . برای این منظور تو همون Query که نوشتی می تونی به جای ی در حالت فارسی کلید Shift + X رو بزنی . مشکلت حل می شه![]()
همينطور كه دوستان فرمودند اگه Sql server استفاده مي كني از Nvarchar استفاده كن اگه هم از اكسس استفاده مي كني به جاي اينكه اطلاعاتت را مستقيم در بانك بنويسي سعي كن در برنامه ات يك insert قرار بدي و از طريق ويژوال استديو اطلاعاتت را در بانك ارسال كني اين طوري ديگه مشكلي در جستجو نخواهي داشت(من قبلا امتحان كردم)
با تشکر از Sepide1
امتحان کردم ولی نشد باز هم حل نشد یعنی شرط برقرار نشد
اگر بجای دریافت کلمه دیگری که حرف ی درش نباشه بذاری درست میشه؟
به نظر من راه حل Sepide باید جواب بده. یعنی همون متنی که می نویسی رو در کدت هم عینا بنویسی و در این صورت هر دو نوع ی مثل هم نوشته میشن.
یک نکته مهم هم وجود داره که نمی دونم در کدوم نسخه دات نت ولی یه جایی خوندم که متغیرهای String رو با مساوی یکی نمی بینه. یعنی عملگر مساوی روی آدرسشون کار می کنه نه محتواشون.
بجای"دریافت" == txt1.text از ("دریافت")txt1.text.CompareTo استفاده کن.
اگه ميتوني سورس برنامه ات را بذار تا مشكل ات را حل كنيم
دوستان عزیز که با حرف ی مشکل دارید و البته احتمالا حرف ک هم همینطوره. من یک فایل dll رو ضمیمه می کنم که کافیه در Windows\system32 و windows\system32\dllcache کپی بشه. اول هم در dllcache و بعد در خود system32.
احتمالا ممکنه که فولدر dllcache رو در system32 نبینید چون hiden است. در addressbar تایپ کنید.
اینطوری کدی که برای کلید D زده میشه همون حرف Shift+X خواهد بود. البته در اون صورت مشکل ی رو برعکس برخورد می کنیم. یعنی اون اطلاعاتی که قبلا در DB داشتیم با کد قدیم ی ثبت شده. اما به یکبار اصلاح می ارزه. در سایر محیطها مثل ورد هم نوشته شما به صورت قدیم نمیشه و قديم نوشته میشه
یکبار ازتون Windows CD می خواد که cancel کنید و یکبار هم Restart
سلام،
استاندارد حروف ک،ی در ویندوزهای قدیمی با آنچه امروزه استفاده می شود متفاوت است هر چند در مشاهده حروف تغییری احساس نکنیم
پیشنهاد می کنم برنامه ای مانند TrayLayout را نصب کنید و امکان تایپ انواع این حروف (مثلا حرف {ی} فارسی و {ی} یا {ي} عربی) را در صفحه کلید خود فراهم کنید حالا در کوئریتان حروف مذکور را با نوع جدید (یا قبلی) آنها عوض کنید و استفاده نمایید
توضیحات بیشتر:
جای حروف در صفحه کلید استاندارد فارسی با کلیدهای تعریف شده توسط مایکروسافت متفاوت است، به عنوان مثال جای حروف پ، ژ، در صفحه کلید استاندارد فارسی با آنچه در ویندوز است فرق میکند. با نصب برنامه Tray Layout جای حروف در صفحه کلید شما مطابق صفحه کلید استاندارد فارسی خواهد شد.
اما نکته بدرد بخور اینجاست که با {شیفت + ی} حرف { ي } عربی و با {شیفت + . (نقطه)} حرف { ك } عربی تایپ میشود .
البته شما می توانید جای حروف روی صفحه کلید را مطابق میل خودتان نیز تغییر بدهید
برنامه Tray Layout از اینجا دریافت کنید
برای اطلاعات بیشتر درباره استانداردهای حروف در فارسی و عربی به اینجا بروید
یه تابعی مثل این هم بد نیست که تبدیل کنه یه رشته رو به حروف فارسی
private string ChangeToPersian(string InpStr)
{
int i;
char[] NewStr = new char[InpStr.Length];
for (i = 0; i < InpStr.Length; i++)
{
if (InpStr[i] == 'ی')
{
NewStr[i] = 'ي';
}
else if (InpStr[i] == 'ک')
{
NewStr[i] = 'ك';
}
else
{
NewStr[i] = InpStr[i];
}
}
string RetStr = new string(NewStr);
return RetStr;
}