0 امتیاز
با درود خدمت اساتید محترم
در پروژه#C ورود اطلاعات طریق تکست باکس و ارسال به بانک اطلاعاتی mysql انجام میشود.در مورد داده های انگلیسی مشکلی برای فراخوانی داده ها و نمایش در datagridview وجود ندارد اما برای داده های فارسی بصورت ????  در بانک ذخیره و نمایش داده میشود.
تنظیمات بانک اطلاعاتی Mysql قسمت Collate روی utf8_utf8_ persian_ci تنظیم شده و ستون مربوط به داده های رشته ای هم varchar(45) قرار گرفته.البته گزینه Nvarchar هم داره که با انتخاب اون باز هم Varchar ثبت میشود.اما بطور مستقیم از طریق workbench میشه اطلاعات فارسی رو وارد کرد و در gridview فارسی نمایش میده.

برای رفع این مشکل موارد تغیر فونت ورودی تکست باکس و تغییر collate به unicode ر انجام داده شد و حتی داده های ورودی رو بصورت values ({0},N'{1}',N'{2}',{3}) تنظیم شد اما مشکل حل نشد.
دوستان نظری در این مورد دارند...راهنمایی فرمایند
متشکرم
بسته شده

1 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام

اگر Collocation بانک و جدول را utf8 تنظیم کردید و باز هم این مشکل وجود داشت، باید هنگام اتصال به بانک، در عبارت اتصال، کد زیر را اضافه کنید:

"Charset = utf8 ;"

یعنی به صورت زیر تست کنید :

string connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";" + "Charset = utf8 ;" ;

 

مشکل حل شد.

تشکر بابت پاسخ دهی سریع.
توسط (109 امتیاز) 1 2 6
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,921 کاربر

دسته بندی ها

...