ميشه دستورش رو يه كم بيشتر توضيح بديد؟از دستور SET NAMES برای تنظیم collation استفاده کنید.
ممنون
مشكل حل شد
اما حروف فارسي ذخيره شده تو جدول، تو phpmyadmin به اين صورت نشون داده ميشه :
&#كد اسكي كاراكتر;
كه كد اسكي كاراكتر يه كد 4 رقمي هست
آيا اين تعداد كاراكترهاي ذخيره شده براي حروف فارسي طبيعيه؟
بعدا كه حجم ديتابيس زياد شد مشكلي پيش نمياد؟
پ ن : البته الان به اين نتيجه رسيدم كه اينجا هم از همين روش استفاده شده
راهي هست براي تغيير اين زرگترین سیستم کدها به فارسي اخه ديتابيس ecommerce به صورت کامل به اين شکل هست و اگه تيبل ها رو هم تبديل کنم به UTF-8 اين مشکل همچنان هست
فکر می کنم با این روش بتوانید مشکل را برطرف کنید:
1- نوع فیلد ها را به Binary تغییر دهید
2- نوع را به varchar باز گردانید اما این بار Collation مناسب یعنی utf8 را برای فیلد ها انتخاب کنید.
برای داده های text به جای binary از BLOB استفاده کنید.
(در ضمن عددی که از شما برای نوع Binary می خواهد طول فیلد است که حداکثر 255 می تواند باشد.)
این به این دلیل است که شما در سایت خود به MySQL نگفتید که از utf8 استفاده می کنید.
برای رفع این مشکل باید بعد از فراخواهنی تابع mysql_connect از دستوری که در ارسال 6# همین تاپیک نوشتم استفاده کنید.
اگر خودتون برنامه نویسی کار را انجام ندادید و یا از سیستم اپن سرس استفاده می کنید می توانید کار را به کس دیگه ای بسپارید تا اصلاحات را انجام بده.
می تونم برای اینکار سایت ParsCoders.com را معرفی کنم بهتون.
فقط نوع های داده فارسی دارند را تبدیل کنید و بعد از تبدیل فراموش نکنید که داده به نوع اولیه و با collation جدید بازگردانده شود.
انواع set و enum را نمی خواد کاری کنید.