(06-05-2013, Saat:23:47)Screwy Adlı Kullanıcıdan Alıntı: Teşekkürler bu merge kullananlar için çok işe yarayacakMerge yapanların işine yaramaz. Çünkü merge yaparken zaten tablolar utf formatına çevriliyor.
Bu script sadece şuana kadar MyBB_1.2.x forumlarını utf'ye çevirmemiş kişilerin tablolarını utf karakter setine çevirme işine yarar.
Ayrıca konu için teşekkürler..
Mesela bende böyle bir script bulmuştum birzamanlar.
Kod:
<?php
// Bu script Kaan Topal tarafindan haziranmistir.
//MySQL bağlantı ayarları
$db_server = 'localhost';
$db_user="Veritabani kullanıcı adı";
$db_password="Şifre";
mysql_connect($db_server, $db_user, $db_password) or die(mysql_error());
//Buraya ayarlarını değiştirmek istediğiniz veritabanı
//adını girin veya tüm veritabanı üzerinde değişiklik yapmak
//istiyorsanız boş bırakınız.
$dblist=array();
//Eğer değiştirlmesini istemediğiniz bir veritabanı varsa buraya
//girişini yapınız. information_schema veritabanı ana veritaban olduğu
//için karakter setini değiştirmenize gerek yoktur.
$skip_db_list = array('information_schema', 'mysql');
//Hangi karakter tipi kullanilacak?
$charset="utf8";
//Hangi karşılaştırma kullanılacak?
$collation="utf8_general_ci";
//Sadece kullanılan veritabnlarını göster.
//Bu özelliği false olarak kullanınız.
$printonly=false;
//Bu bölge boş bırakılırsa, kullanıcı adı üzerinde
//bulunanan tüm veritabanları üzerinde etkileşim
//uygulanır.
$skip_db_text = '"'.implode('", "', $skip_db_list).'"';
if(count($dblist)<1) {
$sql="SELECT GROUP_CONCAT(`SCHEMA_NAME` SEPARATOR ',') AS FRST FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME` NOT IN ($skip_db_text)";
$result = mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_assoc ($result);
$dblist=explode(",", $data["FRST"]);
}
//Veritabanı güncellemesi
foreach ($dblist as $dbname) {
$sql="SELECT CONCAT('ALTER TABLE `', t.`TABLE_SCHEMA`, '`.`', t.`TABLE_NAME`, '` CONVERT TO CHARACTER SET $charset COLLATE $collation;') as FRST FROM `information_schema`.`TABLES` t WHERE t.`TABLE_SCHEMA` = '$dbname' ORDER BY 1";
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo $row["FRST"]."\r\n";
if(!$printonly) {
mysql_query($row["FRST"]) or die(mysql_error());
}
}
}
?>

