Here is a script to automate the process:
http://kb.siteground.com/article/How_to_change_the_collation_for_all_tables_in_db_to_UTF8.html
Code:
<?php
$db = mysql_connect('localhost','myuser_mydbuser','mypassword');
if(!$db) echo "Cannot connect to the database - incorrect details";
mysql_select_db('myuser_mydbname'); $result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE $value COLLATE utf8_general_ci");
}}
echo "The collation of your database has been successfully changed!";
?>
But you will need to modify the script to use this query instead (so it changes both the tables and their columns):
Code:
ALTER TABLE $value CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
I have attached the modified script to this post. This script will update your entire database to use utf8. You need to edit the file to enter your database information (host, user, pass, dbname), upload it to your site and run it from your browser.
I tested this script and it works. You should backup your database before using this script. I am pretty sure it's safe, but don't take my word for it.