Mixed collation now causing errors when trying to migrate site

Got Digital Ocean WordPress server up & running, then realized that the WordPress database (on the live site) for the site I'm trying to move has mixed collations!

When I migrated it to the D.O. WordPress installation, it started actually causing PHP exceptions/unrecoverable errors specifically pointing to incompatible collations.

So, I did a quick check and every table has mixed collations between utf8_general_ci, latin1_swedish_ci, and utf8mb4_unicode_ci. I never touched the encoding from the default and none of the wp-config.php files specify an encoding.

Three questions:

1> Why'now did it this happen?

2> How can I prevent it in the future?

3> How do I resolve this? Do I force collation all to e.g. utf8mb4_unicode_ci or utf8_general_ci and, if so, is there a tool for doing it? I've found various SQL two and three liners, but no comprehensive solution and changing the collation in PhpMyAdmin (table by table, the only way it works) would take *forever*.