• 13-07-2009, 12:55:03
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Forumu UTF-8 E çevirdim yeni konu açınca sorun yok ama mevcut türkçe karakterlerde sorun var forumda. nasıl düzeltebiliriz ustalar?
  • 13-07-2009, 13:03:46
    #2
    Hangi amaç ile çevirdiğinizi merak ediyorum açıkcası? O veritabanını düzeltmek için çok uğraşmak lazım.. Bunu da kimsenin bu platformda ücretsiz yapacağını sanmıyorum
  • 13-07-2009, 13:11:01
    #3
    Şunu deneyebilirsiniz ;
    Settings.php , ye son satır olarak ekleyin, ?> 'den hemen önce.
    $db_character_set = 'UTF-8';
  • 13-07-2009, 13:18:12
    #4
    Çevirdim çünkü forumu ben kurmamıştım kursaydım UTF-8 kurardım taşırken falan sorunsuz evrensel bir karakter seti olduğu için. Zaten sorunsuz çevirdim yeni yazılarda karakter sorunu yok db deki harfleri değiştiremedim. Replace sorgusuyla halledicem sanırım elle bir tane denedim mesela ð bunu ğ diye editledim. Forumda düzgün göründü. SQL sorgusuyla toptan yapacağım şimdi. Analamadım sorun nerde oldu.
  • 13-07-2009, 14:03:04
    #5
    20 dakikamı falan aldı. Aşağıdaki kod ile bul ve değiştir yapabilirsiniz eğer böyle bir sorun yaşayacak olanlar için yazıyorum.

    UPDATE smf_messages SET body = replace(body, 'Þ', 'Ş' ) ;
    smf_messages tablo ismi, body ise alan. Mesela konu başlıklarında düzenleme yapacaksanız body yerine subject yazın. SQL'dan bakarak editleyebilirsiniz.
  • 13-07-2009, 14:07:34
    #6
    Bu gayet doğal birşey, sorun değil yani. Zaten kurulu bir forumun karakter setini değiştirdiğiniz takdirde karakter hatası sorunuyla karşı karşıya kalırsınız. Size bir tavsiye; Veritabanınızı indirin, localhostta db diye bir klasör oluşturup içine atın. ardından aşağıdaki kodları da bir php dosyasına yazın ve kodlardaki veritabanı ismini düzeltin. Bir defaya mahsus dosyayı browserda çalıştırın. tüm karakterler düzelmiş olsun.

    <?php
    set_time_limit(0);
    
    function duzelt($sql) {
    $bozuk  = array("ü","ş","ı","ç");
    $duzgun = array("ü","ş","ı","ç");
    $degis  = str_replace($bozuk,$duzgun,file_get_contents($sql));
    $islem = fopen($sql,'w+');
    $yaz   = fwrite($islem,$degis);
    fclose($islem);
    echo'islem tamam. '.$sql.' basariyla duzeltildi';
    }
    duzelt("veritabani.sql"); 
    ?>
    Kolay Gelsin.
  • 13-07-2009, 17:25:14
    #7
    Üyeliği durduruldu
    Şimdi diyelimforumunuz yanlışlıkla utf-8 oldu o lanet butona tıkladınız ve herhanginedenle yedeklerinizi de yükleyemiyorsunuz peki neyapacaksınız ? işte çözüme geçiyoruz.

    ilk önceveritabani_yedekle.php dosyasıyla o anki yedek dosyasını bir güzel pcnize indiriyorsunuz. İçinde Eğer TRkarakter sorunu varsa DB nin,Dökümantasyonda ki TR karakter düzeltmekısmına bakın. Eğer ki yoksayani DB de karakter sorunu yoksasevinebilirsiniz çünkü ucuz atlattınızvalla.

    1.)DB nizi iyi birnot defteri programı ile açın. (Benimtavsiyem notepad ++ süperkullanılışlıdır ve de tamamen bedava birprogram). Açtıktan sonra metindilini sql seçin (notepad ++ olmayanlarbu adımı yapmasınlar)

    2.)DB de ctrl + f yaparak smf_settings diye arayın ve bulduğunda oraya iyi bakın o tablo içinde utf8 yazan biryer vardır orada ki utf8 yazısını silip onun yerine iso-8859-9 yazın kaydedin ve kapatın daha sonra DB nizi veritabani_geri_yukle.php ile yeniden yükleyin artık forumunuz kesinlikle utf-8 değildir kurtuldunuz yani beladan.

    bayGaReZ adlı üyeden alıntı: mesajı görüntüle
    Hangi amaç ile çevirdiğinizi merak ediyorum açıkcası?
    katılıyorum .