MyBB Depo Forum
Veri tabanı karakter seti değiştirici - Baskı Önizleme

+- MyBB Depo Forum (https://mybbdepo.com)
+-- Forum: Webmaster Deposu (https://mybbdepo.com/webmaster-deposu-forumu)
+--- Forum: Hazır yazılımlar (https://mybbdepo.com/hazir-yazilimlar-forumu)
+--- Konu Başlığı: Veri tabanı karakter seti değiştirici (/veri-tabani-karakter-seti-degistirici-konusu.html)



Veri tabanı karakter seti değiştirici - 007combatant - 06-05-2013

MySQL Tablolarının ve Tablo Alanlarının Karakter Setini Topluca Değiştirmek, php

Selamün aleyküm arkadaşlar. Bu konuda sizlere geliştirdiğim bir php script sunacağım. Bu script sayesinde istediğiniz veri tabanındaki tüm tabloların ve tablo alanlarının karakter setini topluca değiştirmeye yarıyor.

Eski latin5 veya farklı karakter setine sahip bir mybb veri tabanının karakter setini hızlıca ve kolayca utf8 veya istediğiniz bir karakter setine çevirebilirsiniz.

Kod:
http://www.codekodu.com/konu_MySQL_Tablolarinin_ve_Tablo_Alanlarinin_Karakter_Setini_Topluca_Degistirmek_kod_1824.html

Öncelikle yukarıdaki linkteki turker adlı sahışın yazmış olduğu betiği buldum ve sonra herkesin kullanabileceği şekilde web arayüzü olan bir script haline getirdim. Silinmesini istemediği kısımları tabiki silmedim. Buradan kendisine teşekkür ediyorum umarım görür.

Bu kadar anlatım yeter sanırım şimdi scripte geçelim.

Resim-Grafik Ekran görüntüsü:
resim
resim
resim
resim

Resimden de anlaşıldığı gibi kullanımı gayet basit. Ekten indirdiğiniz dosyayı rardan çıkartın. Forumun ana dizinine atın.adres çubuğuna siteadresiniz.com/db_mdp.php yazın (tabi siteadresiniz.com olan yere kendi sitenizin adresi ne ise onu yazacaksınız) formdaki yerleri kendi veri tabanınıza ait bilgilerle dolduruyorsunuz. Karakter setini giriyorsunuz (varsayılan olarak utf8_general_ci ayarlı) İşleme başla butonuna tıklıyorsunuz. Artık kendisi işlemi gerçekleştiriyor.

Yeri gelmişken şunu söylemek istiyorum. Bu gibi konularda misal olarak siteadresiniz.com yazıyoruz bazı arkadaşlar özellikle gidiyor siteadresiniz.com'a girmeye çalışıyor. Bu örnektir. Bunu yazmaya kalkmayın. Bu açıklamayıda yaptıktan sonra hala yazan olursa lütfen beni yormasın, çıkış butonu yukarda.

Aşağıdaki resimde mybbye ait 9 tane tablo olan bir veri tabanındaki tüm tabloları ve tablo alanlarını utf8e çevirdiğini görüyorsunuz.
resim

Tabloların boyutuna göre işlem süresi artabilir. Eğer çok şişkin bir veri tabanı ise vede işlem zaman aşımına uğruyorsa yeni bir veritabanı oluşturun tabloları parça parça çevirin. Bu işlem bile elle yapmaktan katkat hızlı olacaktır.

Dikkat-Uyarı-Kural Not: Bu script sadece karakter setlerini çevirir karakterleri çevirmez.

Güle güle kullanın.

işte MyBBDepo farkı. Bizi izlemeye devam edin... #2


Etitekler: Veri tabanı karakter seti değiştir, Veri tabanı karakter seti değiştirme, Veri tabanı karakter seti değiştirmek, mysql karakter seti, sql karakter seti değiştir, toplu değiştir, php, çevirici, çevir, çevirme


Cvp: Veri tabanı karakter seti değiştirici - Screwy - 06-05-2013

Teşekkürler bu merge kullananlar için çok işe yarayacak Gülümseme


Cvp: Veri tabanı karakter seti değiştirici - EmreKarakaya - 07-05-2013

işte MyBBDepo farkı. Bizi izlemeye devam edin...


Cvp: Veri tabanı karakter seti değiştirici - devmybb - 07-05-2013

(06-05-2013, Saat:23:47)Screwy Adlı Kullanıcıdan Alıntı: Teşekkürler bu merge kullananlar için çok işe yarayacak Gülümseme
Merge 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());
        }
    }
}
?>



Cvp: Veri tabanı karakter seti değiştirici - Remzi0068 - 07-05-2013

Latin olarak eklenmis bir verinin utf8'e cevrildiginde karakter hatasina yol acacaktir. O yüzden config.php üzerinden db charset'i degistirmeyin.


Cvp: Veri tabanı karakter seti değiştirici - 007combatant - 07-05-2013

Dosya güncellendi.
Tasarım yapıldı.


Cvp: Veri tabanı karakter seti değiştirici - Screwy - 07-05-2013

Başka sistemlerden mybb'e geçiş yaparken Türkçe karakter sorunu yaşayanlar içinde bir eklenti gibi birşey yapılabilir mi peki bu konu üzerinden ?


Cvp: Veri tabanı karakter seti değiştirici - NmDahmeT - 01-09-2013

(07-05-2013, Saat:01:36)EmreKarakaya Adlı Kullanıcıdan Alıntı: işte MyBBDepo farkı. Bizi izlemeye devam edin...