Mysql’de bunu bir komutla yapmak mümükün değil. Bir tablonun varsayılan karakter setini değiştirip bunu bütün kolonlarına uygulayan komut var aslında:
ALTER TABLE ‘veritabani_adi’.’tablo_adi’ CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
Eğer yüzlerce ya da daha fazla tablo varsa bu sorguyu defalarca yazmak istemezsiniz. Aşağıdaki sorguyu information_schema
veritabanında çalıştırdığınızda tabloların hepsinin ve bütün sütunlarının karakter setini değiştirecek olan sorguları listeleyebilirsiniz.
SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') as stmt
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = 'veritabani_adi'
ORDER BY 1
Sonra üretilen sorgu satırlarını alıp phpmyAdmin’de istediğiniz veritanaı üzerinde çalıştırırsanız bütün tablolarınızın ve kolonlarınızın karakter seti değişecektir.
Yukarıdaki örnekte karakter setini utf8_general_ci olarak değiştirdik. utf8_swedish_ci karakter setine sahip tabloları Türkçe karakterleri doğru göstersin diye değiştirmek amacıyla kullandım. Siz istediğiniz karakter seti için değiştirip kullanabilirsiniz.
Yazarken, şu adresteki yazıdan yararlandım.