web analytics
//
you're reading...

PHP

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

?>

Discussion

6 Responses to “MySQL Charset Dönüşümü”

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

    Posted by ömer arslan | Monday, May 5, 2008, 15:25
  2. @ömer : evet gerçekten faydası oluyor. özellikle iso-8859-1 veya windows-1254′ten UTF8′e geçmek isteyenler için bulunmaz kaynak.

    Posted by Taha Paksu | Monday, May 5, 2008, 17:14
  3. vayt güzel script sağolasın

    Posted by vayt | Thursday, July 3, 2008, 16:27
  4. teşekkürler

    Posted by hüseyin | Sunday, July 13, 2008, 14:55
  5. yalnız bu varsayılan karakter setlerini değiştiyor zannımca, direk içerikleri de değiştirmek lazım aslında.

    Posted by 3 yıl sonra cehennemden çıkan çılgın türk | Wednesday, March 9, 2011, 17:53

Leave a Reply