I have an app that collected a sizeable amount of data over the last couple of years, the data is stored in many mysql tables; However all the table were set to
Encoding cp1252 West European (latin1)
Encoding: UTF-8 Unicode (utf8mb4)
If you don't have any character columns as foreign keys, the conversion is safe, as all characters from the first one are present in the second, but with
utf8mb4_general_ci you might have changes in ordering when sorting rows by character columns. If that's a problem for you, try using
If you have foreign keys, you should disable
foreign_key_checks, and only enable it back after converting all tables.
alter table will probably lock the table and create a copy, so if you're doing this on a production server, be prepared for some downtime.