PDA

View Full Version : اشکال در ذخیره کلمات فارسی در ini فایل



__MAHNAZ__
پنج شنبه 24 خرداد 1397, 11:05 صبح
با سلام
من یه برنامه با سی شارپ و ویندوز فرم نوشتم که یه سری اطلاعات رو داخل فایل ini ذخیره میکنه.
مشکل اینجاست که وقتی این اطلاعات به صورت کلمات فارسی باشند در فایل ini به صورت علامت سوال ذخیره میشن و در موقع خوندن هم علامت سوال بر میگردند.148384

gerdioz2018
پنج شنبه 24 خرداد 1397, 11:15 صبح
سلام
فایلت باید با utf8 ذخیره بشه
:چشمک:

__MAHNAZ__
پنج شنبه 24 خرداد 1397, 11:30 صبح
سلام
فایلت باید با utf8 ذخیره بشه
:چشمک:

میشه توضیح بدید برای ini فایل چطور میشه اینکار رو انجام داد.

gerdioz2018
پنج شنبه 24 خرداد 1397, 11:48 صبح
فایل رو با Notepad باز کنید و متنی رو بنویس و هنگام ذخیره سازی با Utf8 ذخیره کن
پیوست
148385

__MAHNAZ__
پنج شنبه 24 خرداد 1397, 12:12 عصر
کاری که گفتید رو انجام دادم ولی متاسفانه وقتی Encoding رو از ANSI به UTF-8 تغییر میدم اطلاعات فایل ini دیگه تو برنامه خونده نمیشه.

gerdioz2018
پنج شنبه 24 خرداد 1397, 13:30 عصر
کد ذخیره تون رو بفرستید
هنگام ذخیره سازی قبلش N بزار مثال
N'"+textbox1.text+"'
or
N'علی'

__MAHNAZ__
دوشنبه 28 خرداد 1397, 09:58 صبح
این کد من هست . با اضافه کردن اون حرف انگلیسی به اول کلمه هم تغییری ایجاد نشد:گریه::گریه:

S= "N"+checkedListBox4.CheckedItems[i].ToString();
ini.INIWrite(ini.inipath, "PrintList", i.ToString(), S);




148406

barnamenevisjavan
جمعه 01 تیر 1397, 17:17 عصر
این کد من هست . با اضافه کردن اون حرف انگلیسی به اول کلمه هم تغییری ایجاد نشد:گریه::گریه:

S= "N"+checkedListBox4.CheckedItems[i].ToString();
ini.INIWrite(ini.inipath, "PrintList", i.ToString(), S);




148406
هنگام write کردن encoding رو تغییر بدید به utf-8

__MAHNAZ__
دوشنبه 25 تیر 1397, 11:21 صبح
متاسفانه مشکل من هنوز حل نشده
در صورتی که encoding رو به UTF8 تغییر بدم دیبگه اطلاعات از داخل فایل iniخونده نمیشه و در صورتی که به همین شکل باشه حروف فارسی به شکل علامت سوا در میان:گریه::عصبانی++:
کسی راه حلی نداره؟

danialafshari
دوشنبه 25 تیر 1397, 12:33 عصر
با سلام
ممکنه مشکل از اون dll یا کتابخانه ای باشه که دارید ازش استفاده میکنید
بهتر بود یک نمونه سورس قرار میدادید تا بررسی بشه
یک سورس تهیه و Write رو تست کردم مشکلی نداشت و از ini.Net موجود در Nuget دانلود کردم و همراه ضمیمه قرارش دادم
میتونید از لینک زیر سایر امکاناتش رو مطالعه و تست نمایید
مستندات:
https://github.com/martinusso/Ini.Net/wiki
هر چند که بهتره برای نگهداری مقادیر فارسی از ini استفاده نکنید و بجاش میتونید از xml استفاده کنید
موفق باشید

__MAHNAZ__
سه شنبه 26 تیر 1397, 11:20 صبح
ممنون از پاسختون
متاسفانه برنامه شما هم دقیقا همون ایراد برنامه من رو داره. وقتی اسم و فامیلی خودتون رو به شکل فارسی ذخیره کردید در نهایت فایل ini به صورت زیر هستش
148553

danialafshari
سه شنبه 26 تیر 1397, 16:22 عصر
Language سیستم رو روی Persian تنظیم کنید و روی سیستم دیگر هم تست کنید
خروجی :

148559