PDA

View Full Version : سوال: استفاده از دیتابیس mysql در دلفی، مشکل نمایش و ذخیره سازی محتویات فارسی



zzzzzzzzz
یک شنبه 13 اردیبهشت 1388, 13:37 عصر
من از دیتابیس mysql در دلفی استفاده کردم الان ذخیره و بازیابی مقادیر فارسی از دیتابیس با مشکل مواجه شده و بصورت عجق وجق نشون می ده. یعنی مثلا در Dggrid مقادیر جدول که فارسی است را بد نشون می ده. یا مثلا ذخیره مقادیر فارسی با خطا مواجه می شه.
لطفا راهنمایی کنید که چطوری می تونم dbgrid ام utf8 را ساپورت کنه یا کلا چطوری مشکلمو حل کنم؟
ممنون

vcldeveloper
یک شنبه 13 اردیبهشت 1388, 23:22 عصر
اول چک کنید که Collation مربوط به بانک اطلاعاتی شما درست انتخاب شده باشه.
بعدش اگر همچنان مشکل داشتید، اگر نمیخواید در برنامه از یونیکد استفاده کنید، تنظیمات ویندوز برای non-Unicode Applications را روی Farsi تنظیم کنید. اگر هم می خواید از یونیکد استفاده کنید، در نسخه های قدیمی دلفی، از کامپوننت های TNT استفاده کنید. در دلفی 2009 نیازی به اینگونه کامپوننت ها نیست، و دلفی خودش از یونیکد پشتیبانی کامل میکنه.

zzzzzzzzz
دوشنبه 14 اردیبهشت 1388, 11:54 صبح
مشکلم حل شد. نیاز به استفاده از کامپوننت های tnt نبود اشکال من این بود که موقع تعریف connectionstring از charset استفاده کردم در صورتی که باید از characterset استفاده می کردم و معادل utf8 قرار می دادم به این صورت:
ADOConnection1.ConnectionString:='Provider=MSDASQL .1;Persist Security Info=False;Extended Properties="DRIVER=MySQL ODBC 5.1 Driver;DATABASE=dbt;UID=root;OPTION=3;PORT=3306;SE RVER=localhost;CharacterSet=utf8;password=root;"

mina.azarm
دوشنبه 11 خرداد 1388, 01:13 صبح
سلام
میشه به من بگویید چگونه می توانم با استفاده از ابزارهایی مثل adotable و adoconnection به بانک mysql متصل شوم. لطفا یک پاسخ کامل به من بدهید.
از شما سپاسگذارم

Nima NT
دوشنبه 11 خرداد 1388, 02:10 صبح
سلام
میشه به من بگویید چگونه می توانم با استفاده از ابزارهایی مثل adotable و adoconnection به بانک mysql متصل شوم. لطفا یک پاسخ کامل به من بدهید.
از شما سپاسگذارم
نمیدونم با ADO بشه یا نه ولی شما میتونید با استفاده از کامپوننت UniDAC این کار رو به راحتی انجام بدید.

merced
دوشنبه 11 خرداد 1388, 02:36 صبح
بستگي به درايوري كه نصب دارين داره و ميشه



DATABASE=test;DRIVER={MySQL ODBC 3.51 Driver};OPTION=0;PORT=0;SERVER=localhost;UID=root;