PDA

View Full Version : حرفه ای: اتصال به Mysql در سی شارپ و مشکل با یونیکد - جستجو شده اما حل نشده



cmsdqq2
یک شنبه 21 مرداد 1397, 01:45 صبح
دوستان سلام

طبق عنوان مطرح شده، اطلاعات رو به زبان فارسی مینویسم و از طریق mysqlcon و mysqlcom عملیات insert رو انجام میدم؛ اما فیلدهایی که به زبان فارسی هستند به صورت ????? نشون داده میشه.

در کانکشن استرینگ برنامه سی شارپ، عبارت charset=utf8 با رعایت کوچکی حروف نوشته شد، جواب نداد.


فیلدها به نوع داده های Varchar , Char , Text , Long Text هم تغییر داده شد، جواب نداد.

Collation دیتابیس به انواع مختلف UTF-8* تغییر داد شد، جواب نداد

دیتابیس عوض شد، یکی دیگه از نو ساخته شد با انواع Collation های مختلف تست شد، باز هم جواب نداد . . .

راهکاری دارین دوستان؟ یک هفته ای هست درگیر هستم به شدت...



Server charset: UTF-8 Unicode (utf8)


Server Version: 5.5.58-0ubuntu0.14.04.1 - (Ubuntu)


برای دیتابیس از وب سایت freesqldatabase.com استفاده میکنم.

ممنونم

رامین مرادی
یک شنبه 21 مرداد 1397, 08:15 صبح
منم این مشکل رو داشتم.
این دو خط رو تست کنید ببینید حل میشه.

String s2 = new String(bytes, "UTF-8");
String decoded = new String(encoded.getBytes("ISO-8859-1"));


ولی اگه حل نشد توصیه میکنم از یک وب سرویس واسط استفاده کنید مثل زبان پی اچ پی . چون اگر قصد اتصال به دیتابیس هاست رو داشته باشید بعدا به مشکل برمیخورید(بستن ریموت مای اس کیو ال توسط هاست و عدم اتصال مستقیم به دیتابیس) مگر اینکه سرور شخصی تهیه کنید و اقدام به نصب مای اس کیو ال کنید.

cmsdqq2
یک شنبه 21 مرداد 1397, 12:50 عصر
منم این مشکل رو داشتم.
این دو خط رو تست کنید ببینید حل میشه.

String s2 = new String(bytes, "UTF-8");
String decoded = new String(encoded.getBytes("ISO-8859-1"));


ولی اگه حل نشد توصیه میکنم از یک وب سرویس واسط استفاده کنید مثل زبان پی اچ پی . چون اگر قصد اتصال به دیتابیس هاست رو داشته باشید بعدا به مشکل برمیخورید(بستن ریموت مای اس کیو ال توسط هاست و عدم اتصال مستقیم به دیتابیس) مگر اینکه سرور شخصی تهیه کنید و اقدام به نصب مای اس کیو ال کنید.


ممنون

حلش کردم.

charset=utf8 رو به آخر کانکشن استرینگ اضافه کردم.

Collation دیتابیس و جدول ها و تمامی ستون ها رو به صورت utf8_general_ci تنظیم کردم.

اشتباه اینجا بود که بنده فقط collation جدول ها و ستون ها رو تنظیم میکردم.



در مورد وب سرویس هم ممنون که اطلاع رسانی کردین. راهکار درستشم هم همینه. این کار (اتصال ریموت) موقتیه و در آینده وب سرویسش میشه.

البته من جستجو کردم برای نمونه ای از وب سرویس که در یکی از تاپیک ها به پست شما رسیدم که یک نمونه وب سرویس قرار داده بودین ولی هنوز چکش نکردم.

صمیمانه ممنونم