تبدیل 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)
این دستور را برای کلیه فیلدهای به هم ریخته اجرا کنید تا مشکل برطرف شود.

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

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

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

در همین زمینه

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

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

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

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

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

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

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

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

قوانین ModSecurity که بیشترین هشدارهای اشتباه را می دهند

این لیست برخی از قوانین مربوط به modsecurity هستند که اصطلاحا بیشتر هشدار های false positives را...

Powered by WHMCompleteSolution