PDA

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



Borland.C
پنج شنبه 14 دی 1391, 14:31 عصر
سلام خدمت دوستان
با استفاده از TSQLConnection به بانک اطلاعاتی mysql وصل می شم(Borland C++‎ builder7)
وقتی داده های فارسی رو از بانک اطلاعاتی می خونم همه به صورت ؟؟؟؟ نمایش داده میشن
از این دستور هم استفاده کردم اما نشد

SQLCon->ExecuteDirect("SET NAMES utf8");

جدول بانک اطلاعاتی هم: utf8 COLLATE utf8_persian_ci
قسمت کد برنامه هم:

if(!SQLCon->Connected)
SQLCon->Open();
SQLCon->ExecuteDirect("SET NAMES utf8");
AnsiString mSQL = "SELECT * FROM ans_user WHERE u_user='milad'";
SQLQ->SQL->Text = mSQL;
SQLQ->Open();
L_Name->Caption = SQLQ->FieldByName("u_name")->AsString;

برای TSQLCon هم در قسمت params
ServerCharSet مقدار uft8 رو گذاشتم باز هم نشد!!!! :عصبانی++:
هرچی هم تو اینترنت گشتم نبود،سایت های بدرد بخور هم که همشون ف ی ...
اگه کسی می دونه راهنمایی کنه ممنون میشم

Borland.C
پنج شنبه 14 دی 1391, 19:34 عصر
یعنی هیچ کس تا الان به این مشکل بر نخورده واقعااااا ؟!!!!!:متفکر:

BORHAN TEC
جمعه 15 دی 1391, 10:39 صبح
پیشنهاد می کنم که برای درگیر نشدن با این مسائل پیش پا افتاده به نسخه های جدیدتر C++ Builder مهاجرت کنید، منظورم نسخه 2009 به بعد است. در ضمن آیا مطمئن هستید که داده ها به شکل درستی در پایگاه داده ذخیره شده است؟

Borland.C
جمعه 15 دی 1391, 10:43 صبح
داده ها از نوع varchar هستند.در phpmyadmin مشکلی نیس اما در زمان لود داده ها توسط برنامه...
به نظر شما این مشکل ارتباطی با نسخه cppb داره؟؟؟

*لود داده ها توسط php هم مشکلی نداره!

Borland.C
دوشنبه 18 دی 1391, 20:41 عصر
با ارتقا نسخه از 2007 به EX2 مشکل حل شد.اما دلیلش رو نفهمیدم.آخه من قبلا این کار رو ویندوز XP با Borland C++ 6 بدون مشکل انجام داده بودم!

BORHAN TEC
سه شنبه 19 دی 1391, 20:46 عصر
با ارتقا نسخه از 2007 به EX2 مشکل حل شد.اما دلیلش رو نفهمیدم.
به خاطر اینه که نسخه 2009 و نسخه های بعدی به صورت کامل از یونیکد پشتیبانی می کنند.

با ارتقا نسخه از 2007 به EX2 مشکل حل شد.اما دلیلش رو نفهمیدم.
با نسخه های قدیمی هم میشه ولی باید از Control Panel تنظیمات فارسی رو برای سیستم خودتون انجام بدین ولی از اونجایی که نسخه های جدیدتر به صورت کامل از یونیکد پشتیبانی می کنند اجباری به انجام این کار وجود ندارد.