MySQL Charset Dönüşümü

April 11, 2008 | In: PHP

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

?>

İlginizi çekebilecek diğer yazılar:






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

Avatar

ömer arslan

May 5th, 2008 at 15:25

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

Avatar

Taha Paksu

May 5th, 2008 at 17:14

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

Avatar

vayt

July 3rd, 2008 at 16:27

vayt güzel script sağolasın

Avatar

hüseyin

July 13th, 2008 at 14:55

teşekkürler

Avatar

3 yıl sonra cehennemden çıkan çılgın türk

March 9th, 2011 at 17:53

yalnız bu varsayılan karakter setlerini değiştiyor zannımca, direk içerikleri de değiştirmek lazım aslında.

Avatar

Taha Paksu

March 10th, 2011 at 20:08

valla baco baya oldu kullanmayalı. başlığı görmeden bende ne işe yaradığını hatırlamıom artık :)

Comment Form




Dinlediklerim