PDA

View Full Version : مشکل با کارکترهای فارسی در mysql



alasht
جمعه 02 اردیبهشت 1390, 03:07 صبح
با سلام خدمت دوستان
من یه برنامه ساده نوشتم با C# تحت ویندوز که اطلاعات رو از دیتابیسم میخونه و تو grideview میریزه اما یه مشکلی هست
من وقتی با php اطلاعات رو فراخوانی میکنم بدون هیچ مشکلی کارکترهای فارسی رو نشون میده اما با سی شارپ کارکترهای فارسی رو به این صورت نشون میده
کاربردی: افزایش سرعت و بهینه سازی ویندوز با
کد هم اینه ممنون میشم از دوستان راهنماییم کنن
private void button1_Click(object sender, EventArgs e)
{
string constr = "server=127.0.0.1;database=csharp;uid=root;password =;charset=utf8";
try
{
MySqlConnection conn = new MySqlConnection(constr);
conn.Open();
MySqlDataAdapter MyDA = new MySqlDataAdapter();
MyDA.SelectCommand = new MySqlCommand("SELECT * FROM c1", conn);
DataTable table = new DataTable();
MyDA.Fill(table);
BindingSource bSource = new BindingSource();
bSource.DataSource = table;
dataGridView1.DataSource = bSource;

}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
Close();
}
}

mhofayyaz
جمعه 02 اردیبهشت 1390, 11:26 صبح
از کدوم connector استفاده می کنی ؟
من این مشکلو داشتم و با mysql-connector-net-6.3.6 حل شد .
در ضمن همه فیلدها و جدولاتو utf_persian درست کن

alasht
جمعه 02 اردیبهشت 1390, 11:47 صبح
با سلام
من از mysql-connector-net-1.0.10_2 استفاده میکنم
در ضمن نمیخوام هیچ تغییری تو دیتابیس بدم چون با کد php من دیتابیس مشکلی نداره و فقط میخوام راه حلی بگید که از طریق کدهای سی شلرپ درستش کنم
الان این نسخه از کانکتوری که من دارم مشکل داره ؟

alasht
جمعه 02 اردیبهشت 1390, 14:00 عصر
سلام مجدد
دوستان من کارم یخورده عجله ای هست ممنون میشم پاسخ بدید
من کانکتور 6.3.6 هم نصب کردم اما بازم نشد
من نمیخوام تنظیمات دیتابیس رو دست کاری کنم و فقط میخوام از طریق سی شارپ مشکلم حل بشه چون با php کارکترهای فارسیم رو درست نشون میده
با تشکر

alasht
جمعه 02 اردیبهشت 1390, 19:54 عصر
دوستان یعنی تا حالا کسی همچین مشکلی نداشته ؟
تو php برای حل این مشکل از این تابع استفاده میکنم

header ('Content-type: text/html; charset=utf-8');

حالا یه همچین چیزی برای سی شارپ میخوام
ممنون میشم راهنمایی کنید :ناراحت:

mhofayyaz
شنبه 03 اردیبهشت 1390, 13:14 عصر
راه حل دیگه ای به ذهنم نمی رسه .
Charset دیتابیستو عوض کن فک کنم مشکلت حل بشه . تو php هیچ مشکلی به وجود نمیاد . من همچین مشکلی رو داشتم . اتفاقاً برنامه وب با php بود .
یه چیز دیگه . وقتی کانکتور جدید نصب می کنی ، MySql.Data قدیمی توی رفرنسهای ویژوال استدیو می مونه . اونم باید پاک کنی و mysql.data جدید رو اضافه کنی .

mhofayyaz
شنبه 03 اردیبهشت 1390, 13:16 عصر
header ('Content-type: text/html; charset=utf-8');


واسه این کارم می تونی توی کانکتورت از charset=utf8 استفاده کنی
البته فک نکنم تاثیر خاصی داشته باشه ولی امتحانش ضرری نداره
نتیجه کارتو بگو



MySqlConnection connset = new MySqlConnection("Server=localhost; Database=none; Uid=root;password='123456';charset=utf8");

alasht
سه شنبه 13 اردیبهشت 1390, 22:03 عصر
با سلام
متاسفانه چند وقتی به اینترنت دسترسی نداشتم و نتونستم این تاپیک رو پیگیری کنم

واسه این کارم می تونی توی کانکتورت از charset=utf8 استفاده کنی
متاسفانه این راه حل جواب نمیده


Charset دیتابیستو عوض کن فک کنم مشکلت حل بشه .


نمیتونم همچین کاری بکنم چون حجم دیتابیس زیاده و به دردسرش نمی ارزه
مطمئنا راه حلی باید برای این مشکلات باشه
ممنون میشم دوستان هر کس راه حلی به ذهنش میرسه ارائه بده
با تشکر