Można to zrobić jednym poleceniem (zamiast 148 PHP):
mysql --database=dbname -B -N -e "SHOW TABLES" \
| awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks = 1; "}' \
| mysql --database=dbname &
Musisz pokochać linię poleceń...(Może być konieczne użycie --user
i --password
opcje dla mysql
).
EDYCJA:aby uniknąć problemów z kluczami obcymi, dodano SET foreign_key_checks = 0;
i SET foreign_key_checks = 1;