MySQL Charset Dönüşümü
Friday, April 11, 2008
Bu script mysql sistemindeki bir veritabanının komple karakter setini değiştirmeye yarıyor. Tablolar, Alanlar ve İçeriğin karakter setini istediğiniz şekilde değiştirebilirsiniz.
Kod burda :
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'db_name';
$collation = "utf8_general_ci";
$charset = "utf8";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
mysql_query("ALTER DATABASE $dbname COLLATE $collation");
$result = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_row($result)) {
mysql_query("ALTER TABLE $row[0] COLLATE $collation");
$result1 = mysql_query("SHOW COLUMNS FROM $row[0]");
while ($row1 = mysql_fetch_assoc($result1)) {
if (preg_match('~char|text|enum|set~', $row1["Type"])) {
mysql_query("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] CHARACTER SET $charset");
mysql_query("ALTER TABLE $row[0] MODIFY $row1[Field] $row1[Type] COLLATE $collation DEFAULT '$row1[Default]'");
echo $row[0] . "->" . $row1[Field] . "->" . $row1[Type] . " is now UTF8\n";
}
}
}
mysql_free_result($result);
?>
6 Comments
yalnız bu varsayılan karakter setlerini değiştiyor zannımca, direk içerikleri de değiştirmek lazım aslında.
valla baco baya oldu kullanmayalı. başlığı görmeden bende ne işe yaradığını hatırlamıom artık 🙂
teşekkürler
vayt güzel script sağolasın
@ömer : evet gerçekten faydası oluyor. özellikle iso-8859-1 veya windows-1254’ten UTF8’e geçmek isteyenler için bulunmaz kaynak.
vay be. bi zamanlar bende böyle bi sorunla karşılaşmıştım. bu script i bulduğum iyi oldu. dursun bi köşede 🙂