PhpNuke kurdunuz ve başta herşey normal gibi. Fakat daha sonra içerikte Türkçe karakterlerin görüntülenmediğini farkettiniz. Bu farklı sebeplerden ötürü kaynaklanıyor olabilir. Ama herşey normalken ve internette bulduğunuz tüm önerileri uyguladıysanız, bir de buraya kulak verin. Eğer mysql veritabanı versiyonunuz 4x ise, bu hatalar gayet normaldir. Çözümse burada.
Anlatacağım yöntemi doğru uygularsanız veritabanından kaynaklanan Türkçe karakter problemi yaşamazsınız. O yüzden yorumlara gelen, ve konuyla alakasız “olmadı” türündeki mesajları değerlendirmeyeceğim.
Aslında bu bildiğimiz mysql 4x Türkçe karakter problemidir ve “MySQL Türkçe Karakter Problemi” başlığında çözümü zaten sunmuştum. Fakat yapamayanlar için phpnuke için konuşacağız.
Yeni bir veritabanı yaratırken, karşılaştırma değerini daima latin5_turkish_ci seçin. Dilimize ait karakter kodu budur. Bu şekilde veritabanını yaratırsanız, tablolar için yapmanız gereken fazladan birşey yok. Tablo yaratırken, metin değerli sütunların karşılaştırma değerlerini boş bırakabilir yada yine latin5_turkish_ci seçebilirsiniz.
Daha sonrasında, mainfile.php dosyasını açıp aşağıdaki kodları bulun,
require_once("includes/sql_layer.php");
ve hemen alt satırına,
mysql_query("SET NAMES 'latin5'");
satırını ekleyin. İşte bu kadar.
Bu yöntem sıfırdan phpnuke kuranlarda işe yarayacaktır. Mevcut bir veritabanını bu karakter setine almaksa uzun bir işlem. Veritabanı, tablolar v.b. tek tek yapmanız gerekiyor. Ve yapmasanız bile eski verilerdeki karakter hatalarını düzeltemeyeceksiniz.
Anlattığım yöntemi kendi sitelerimde uygulamaktayım, o yüzden karşılaşacağınız hataların anlattıklarımdan ötürü olmadığına emin olabilir, farklı yerlerde problemi arayabilirsiniz.
emeği geçen arkadaşlara çok saol en sonunda başardım
çok sağolun en sonunda çözdüm sorunu
İşte bu yaa en sonunda düzeldi
ben yaptım düzelti allah sizden razı olsun kaç gündür uğraşıyordum çok saol
Ahmet bravo yöntem işe yaradı.Herşeyi denedikten sonraaaa.
ben 7.9 ver. kullanıyordum sorunu şu şekilde çözdüm…
mainfile.php içinde 972. satır
$what = htmlentities(trim($what), ENT_QUOTES);
bulup aşağıdaki gibi değiştirin.
$what = htmlspecialchars(trim($what), ENT_QUOTES);
db/mysql.php içinde 106. satır
$this->query_result = @mysql_query($query, $this->db_connect_id);
bulun öncesine aşağıdaki satırı ekleyin…
mysql_query("SET NAMES ‘latin5′");
tabi bunları yapmadan önce karşılaştırmayı latin5_turkish_ci olarak değiştirmiş olmalısınız. Varolan datalar bozuk kalır ancak yeni eklenen ve değiştirdikleriniz sorunsuz olacaktır.
abi bu dediğini yaptım nuke içerisindeki sorun çözüldü ancak forumda hala tükçe karakter sorunu oluyor bunu nasıl çözerim sıyırmak üzereyim bi yardım edersen çok sevinirim…
Çok çok teşekkürler çok büyük bi dertten kurtuldum elinize kolunuza yüreğinize sağlık
Ben denedim işe yaramadı
Bu arada en iyi nuke sürümünün 7,6 olduğunu belirtme ihtiyacı duydum..
Bilgilerinize..