How to convert an entire MySQL database characterset and collation to UTF-8?

Dean picture Dean · May 24, 2011 · Viewed 492.2k times · Source

How can I convert entire MySQL database character-set to UTF-8 and collation to UTF-8?

Answer

BalusC picture BalusC · May 24, 2011

Use the ALTER DATABASE and ALTER TABLE commands.

ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Or if you're still on MySQL 5.5.2 or older which didn't support 4-byte UTF-8, use utf8 instead of utf8mb4:

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;