UTF-8'e dönüştürdüm, yardım
6
●506
- 13-07-2009, 12:55:03Kimlik 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:18:12Ç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:0420 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:34Bu 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Ü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.
katılıyorum .bayGaReZ adlı üyeden alıntı: mesajı görüntüle