Du skal udføre en alter table-sætning for hver tabel. Erklæringen ville følge denne form:
ALTER TABLE tbl_name
[[DEFAULT] CHARACTER SET charset_name]
[COLLATE collation_name]
For nu at få alle tabellerne i databasen skal du udføre følgende forespørgsel:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDataBaseName"
AND TABLE_TYPE="BASE TABLE";
Så lad nu MySQL skrive koden for dig:
SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," COLLATE your_collation_name_here;") AS ExecuteTheString
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA="YourDatabaseName"
AND TABLE_TYPE="BASE TABLE";
Du kan kopiere resultaterne og udføre dem. Jeg har ikke testet syntaksen, men du burde kunne finde ud af resten. Tænk på det som en lille øvelse.
Håber det hjælper!