MySQL Charset Dönüşümü

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 :

<?
$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] . “-&gt;” . $row1[Field] . “-&gt;” . $row1[Type] . ” is now UTF8
;
}
}
}
mysql_free_result($result);

?>

Yazıyı Paylaş:
  • bodytext
  • del.icio.us
  • Facebook
  • Google
  • Live
  • Slashdot
  • StumbleUpon
  • Technorati
  • Furl
  • NewsVine
  • Pownce
  • Reddit
  • SphereIt
  • Spurl
  • TwitThis

4 Yorum Yapılmış, Yorum yapın yada Ping Bırakın

  1. 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 :)

  2. @ömer : evet gerçekten faydası oluyor. özellikle iso-8859-1 veya windows-1254′ten UTF8′e geçmek isteyenler için bulunmaz kaynak.

  3. vayt    

    vayt güzel script sağolasın

  4. teşekkürler