آموزش وردپرس, مقالات وردپرس, وبلاگ

رفع مشکل Unknown collation: utf8mb4_unicode_520_ci در phpmyadmin

یکی از ارور ها و مشکلات شایع در هنگام ایمپورت کردن فایل دیتابیس در  phpmyadmin که ممکن است زمان زیادی از شما را بگیرد خطای #1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’ میباشد که بعد از مواجه شدن با این خطا پروسه ایمپورت کردن دیتابیس در سایت شما بریک میشود و ادامه انجام فعالیت کنسل میشود و با جستجو در اینترنت نیز نمیتوانید نتیجه ای مناسب برای این مشکل را پیدا بکنید.

مشکل  Unknown collation: utf8mb4_unicode_520_ci در هنگامی که شما باید یک دیتابیس را از طریق phpmyadmin ایمپورت بکنید رخ میدهد و کد این خطا1273 میباشد و شما بعد از انتخاب فایل خود در phpmyadmin صفحه ای دقیقا همانند شکل زیر را مشاهده میکنید:

خطای Unknown collation در phpmyadmin

خطای Unknown collation در phpmyadmin

همانطور که مشاهده میکنید در این پیغام خطا متن زیر چاپ شده است:

SQL query:
CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `meta_key` varchar(255) COLLATE utf8_general_ci DEFAULT NULL,
  `meta_value` longtext COLLATE utf8_general_ci,
  PRIMARY KEY (`meta_id`),
  KEY `comment_id` (`comment_id`),
  KEY `meta_key` (`meta_key`(191))
) ENGINE=MyISAM AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci 
MySQL said:
#1253 - COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4_unicode_520_ci'

مشکل ایمپورت کردن دیتابیس در phpmyadmin در دایرکت ادمین DirectAdmin

این مشکل در اکثر اوقات در کنترل پنل DirectAdmin پیش می آید، و زمانی که شما بخواهید یک فایل دیتابیس که قبلا از یک سایت که کنترل پنل آن Cpanel بوده است و از دیتابیس یک سایت سی پنل خروجی گرفته شده است در دایرکت ادمین فایلی را آپلود بکنید این مشکل برای شما پیش می آید.

بصورت کلی این مشکل بخاطر encoding ها میباشد که در سی پنل از charset هایی استفاده میشود که در دایرکت ادمین شناخته شده نیست.

این مشکلی هیچ ارتباطی با قالب وردپرس سایت شما ندارد یا اگر قصد خرید قالب وردپرس جدید را دارید و این مشکل برای شما پیش آمده، ارتباطی با قالب سایت شما ندارد.

[quote]یک روز در سایت یکی از مشتریان قالب وردپرس وبمستر98 مشغول نصب کردن بسته نصب سریع بودم اما به دلایلی از طریق دایرکت ادمین و اینستالر و بسته نصب سریع ، اون نصب رو انجام ندادم و تصمیم گرفتم که از طریق ایمپورت کردن از دیتابیس نصب رو انجام بدم، بعد از اینکه دیتابیس جدید رو در سایت مشتری درست کردم و مشخصات دیتابیس رو هم در فایل wp-config.php وارد کردم وارد قسمت phpmyadmin شدم و فایل دیتابیس خودم رو انتخاب کردم ولی بعد از مدتی که آپلود تمام شد، متوجه یک ارور با متن Unknown collation: utf8mb4_unicode_520_ci مشاهده کردم که در هیچ سایت فارسی درباره اون توضیحاتی نوشته نشده بود و روش رفع مشکل هم بسیار ساده میباشد. [/quote]

رفع مشکل Unknown collation: utf8mb4_unicode_520_ci در ایمپورت کردن فایل دیتابیس در phpmyadmin در دایرکت ادمین Directadmin

روش رفع مشکل بسیارساده میباشد با یک replace کردن ساده میتوانید مشکل را رفع بکنید

از یکی از نرم افزار های حرفه ای ویرایش متن مثل  Notepad++ میتوانید استفاده بکنید و فایل دیتابیس خودتان که پسوند آن .sql است را با این نرم افزار باز بکنید برای باز کردن با این برنامه کافیه که بر روی فایل دیتابیسی که دارید کلیک راست بکنید و گزینه open with رو بزنید و در صفحه ای که براتون باز میشه نرم افزار ادیتور Notepad++ رو انتخاب بکنید و چند لحظه صبر بکنید تا دیتابیس شما باز شود.

پیش نمایش دیتابیس در notepad++

پیش نمایش دیتابیس در notepad++

در همین صفحه ای که الان در بالا مشاهده میکنید در صفحه کلید خودتون کلید های Ctrl+H رو وارد بکنید تا پنجره Replace برای شما نمایش داده شود و 2 کادر در این پنجره قرار دارد یکی از این کادر ها مربوط به Find What  میباشد و کادر بعدی Replace with میباشد که در کادر اولی باید عبارتی که باید دنبال اون هستیم رو وارد بکنیم و در فیلد دوم باید عبارتی که میخواهیم جایگزین بکنیم را وارد میکنیم.

در کادر Find what باید بنویسیم: utf8mb4_unicode_520_ci و در کادر زیری اون عبارت utf8mb4_unicode_ci را وارد بکنید دقیقا مطابق تصویر زیر سپس بر روی replace all کلیک بکنید تا همه عبارات جایگزین شوند.

قسمت جایگزین کردن عبارت ها در notepad++

قسمت جایگزین کردن عبارت ها در notepad++

بعد از انجام عملیات بالا باید فایل دیتابیس را ذخیره کنید و مجددا آن را در phpmyadmin ایمپورت بکنید – در صورتی که مراحل بالا را درست انجام داده باشید، یک پیغام همانند شکل زیر را مشاهده خواهید کرد:

پیام موفقت آمیز در phpmyadmin

پیام موفقت آمیز در phpmyadmin

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

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

19 دیدگاه در “رفع مشکل Unknown collation: utf8mb4_unicode_520_ci در phpmyadmin

  1. بنیامین گفت:

    وای خدا حفظتون عجب مشکلی داشتم که شما حل کردین ممنون از اشتراک تجربتون .

  2. سایت فلز گفت:

    خیلی عالی بود و ممنون

  3. امیر گفت:

    خیلی ممنون کمک زیادی کردی

  4. ali گفت:

    دمت گرم

  5. دیجی گفت:

    انجام دادنم ولی حالا این ارور امد

    Error

    Static analysis:

    10 errors were found during analysis.

    Unexpected beginning of statement. (near “DUPLICATOR” at position 0)
    Unexpected beginning of statement. (near “MYSQL” at position 11)
    Unexpected beginning of statement. (near “SCRIPT” at position 17)
    Unexpected beginning of statement. (near “CREATED ON :” at position 24)
    Unexpected beginning of statement. (near “2017” at position 37)
    Unexpected beginning of statement. (near “-06” at position 41)
    Unexpected beginning of statement. (near “-01” at position 44)
    Unexpected beginning of statement. (near “17” at position 48)
    Unexpected beginning of statement. (near “:38” at position 50)
    Unexpected beginning of statement. (near “:28” at position 53)

    SQL query:

    DUPLICATOR MYSQL SCRIPT CREATED ON : 2017-06-01 17:38:28 */ SET FOREIGN_KEY_CHECKS = 0

    MySQL said: Documentation
    #1064 – You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘DUPLICATOR MYSQL SCRIPT CREATED ON : 2017-06-01 17:38:28 */

    SET FOREIGN_KEY_CHE’ at line 1

    1. سلام دوست خوبم
      اروری که به شما میده با اروری که در این مقاله توضیح داده شده متقاوت هست
      باید بررسی شود و راه حل ارائه شود

  6. احمد گفت:

    عالی بود. ممنونم

    1. خواهش میکنم احمد عزیز
      بازم به ما سر بزن

  7. علیرضا گفت:

    راه حل اصولی آپدیت mysql است تا از utf8mb4_unicode_520_ci پشتیبانی کند. چون COLLATE از نوع utf8mb4_unicode_520_ci کاملترین یونیکد فعلی است.

    1. ممنون از شما علیرضای عزیز بابت کامنتتون
      اما خیلی از کاربران دسترسی یا آشنایی با نحوه آپدیت ندارند و بخاطر همین حتی در سایت های خارجی هم روش بالا توصیه شده است

  8. مهسا دندانی گفت:

    سلام
    بخدا الان 1 هفته میشه که سایتم این مشکل رو داره به 5 تا برنامه نویس و متخصص وردپرس دادم هیچکی نتونست درستش بشه
    تو هیچ سایت خارجی هم آموزشی ندیدم
    واقعا عالی بود
    ای کاش بابت این خدمات هزینه هم میگرفتید. تو ایران نه توی دنیا، جزو اولین ها هستید

    1. سلام مهسای عزیز
      ممنون از کامنتت
      خوشحالیم که تونستیم کمکی بکنیم.

  9. salar گفت:

    داداش دمت گرم واقعا
    ایشالا همیشه بهترین باشید

    1. سلام سالار جان
      ممنون از کامنت خوبت، بازم به ما سر بزن

  10. سه‌لاح گفت:

    بسیار عالی و کاربردی – همین الان انجام دادم و مشکل برطرف شد.
    دقیقا در انتقال ما بین سی پنل و دایرکت ادمین به همین مشکل برخوردم و رفع شد.

    1. سلام کاک سلام
      خوشحالیم که تونستیم کمکی کرده باشیم.
      سرفراز بیت

  11. عباس گفت:

    دمت جیززززز

  12. محمد گفت:

    سلااااام
    خیلیییییییی ممنونم بابت مطلب
    خیر ببینید

    1. سلام محمد جان
      این یک مشکل ساده هست و خیلی ساده هم رفع میشود اما گاهی اوقات همین مشکل ساده چند روز ما را منتظر نگه میدارد.
      ممنون از کامنت شما / خوشحالیم که توانسته ایم کمکی بکنیم
      موفق باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *