تبدیل Encoding اطلاعات MySQL از cp1252 به یونیکد

شاید برای شما هم اتفاق افتاده باشد که یک سایت قدیمی (خیلی قدیمی) را به سروری جدیدتر جابجا کرده باشید و ناگهان تمام اطلاعات فارسی شما به جای حروف فارسی، تبدیل به حروفی عجیب و غریب و غیرقابل خواندن تبدیل شده باشد. دلیل بروز این مشکل این است که Encoding دیتابیس سایت قدیمی شما به جای utf-8 روی cp1252 یا arabic تنظیم شده است. برای حل این مشکل، شما باید از دستور MySQL زیر، برای اصلاح فیلدهای خراب و تبدیل آنها به یونیکد استفاده کنید:
UPDATE `your_table_name` set your_field_name = convert(binary convert(your_field_name using latin1) using utf8)
این دستور را برای کلیه فیلدهای به هم ریخته اجرا کنید تا مشکل برطرف شود.

نکته مهم این است که قبل از انجام این کار، حتما از دیتابیس خود بکآپ تهیه کنید تا در صورتی که تغییرات آن طور که انتظار می رفت، پیش نرفت، اطلاعات خود را از دست ندهید.

آیا این پاسخ به شما کمک کرد؟

 پرینت این مقاله

در همین زمینه

ایجاد ایمیل در پلسک ویندوز با استفاده از دستورات CLI پلسک

برای ایجاد ایمیل ها توسط دستورات CLI پلسک در ویندوز، می توانیم از این دستور استفاده کنیم. استفاده...

چگونه Strict Mode را در MySQL 5.7 غیرفعال کنیم؟

برای اینکه SQL Mode را غیر فعال کنیم (در MySQL 5.7 به صورت خودکار فعال می شود) باید یک فایل در...

ارتقاء MySQL از نسخه 5.5 به 5.7 یا MariaDB 10.2 و جدیدتر

برای ارتقاء نسخه MySQL از 5.5 به 5.6 یا 5.7 به این نحو عمل می کنیم: لطفا توجه کنید که در صورت...

نحوه بررسی سرور لینوکسی برای وجود malware در سایت ها

جهت بررسی امنیت سرور لینوکس، می توانیم از سیستم Linux Malware Detect استفاده کنیم. برای نصب آن...

تنظیم دسترسی های اتوماتیک توسط پلسک ویندوز

پلسک ویندوز هر زمان که به روز می شود، کاربران سیستم خود را حذف کرده و مجددا ایجاد می کند و سپس...

Powered by WHMCompleteSolution