Επειδή είχα το ιδιο πρόβλημα πρόσφατα και δεν ήθελα να κάνω alter table σε κάθε πίνακα (βαρεμάρα) χρησιμοποίησα αυτό και έκανε δουλειά.
<?php
//change values for user, password, dbname before running
$con = mysql_connect('localhost','user','password');
if(!$con) { echo "Cannot connect to the database ";die();}
mysql_select_db('database_name');
$result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE $value CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
}}
echo "The collation of your database has been successfully changed!";
?>