Unknown collation is probably caused because your local and live server are running different versions of MySQL. This problem mostly comes when you migrate websites between servers. The error message looks like this:
**ERROR** database error write Unknown collation: 'utf8mb4_unicode_520_ci'
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
How to solve the problem?
You can solve the problem with a few different ways. An easy way is updating your MySQL on the new server but not everyone can do that.
The second solution is in the SQL file. Open the sql file in your text editor and follow these steps:
- Search: utf8mb4_unicode_ci
Replace: utf8_general_ci (Replace All) - Search: utf8mb4_unicode_520_ci
Replace: utf8_general_ci (Replace All) - Search: utf8mb4
Replace: utf8 (Replace All)
The third solution is working with SQL file as well. Find in your .sql file this row:
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
and replace it with
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
If you have a PHPMyAdmin, you can follow steps below:
- Click the Export tab for the database
- Click the Custom radio button.
- Go the section titled Format-specific options and set the dropdown button to MYSQL40.
- Scroll to the bottom and click GO.
Is it your unknown collation problem solved now? Write down your comment on which solution works for you.
Thanks. this worked for me. I think using phpmyadmin provides the quickest solution