Tag Archive for 'character set'

Mysql Veritabanındaki bütün tabloların ve kolonların karakter setinin değiştirilmesi

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.