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.
Bu yazı 22 Kasım 2005, 21:13 tarihinde yazılmış olup bu zamana kadar 17,520 kez görüntülenmiştir
En son ise 28 Eylül 2008, 17:02 tarihinde güncellenmiştir
Bu yazı 82 adet yorum almıştır ve bunların son 10 adeti görüntülenmektedir. Bu yazıya yapılan tüm yorumları görmek için arşivi görüntüleyiniz. TÜM YORUMLARI OKUMAK İÇİN TIKLAYINIZ.
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
Bu arada en iyi nuke sürümünün 7,6 olduğunu belirtme ihtiyacı duydum..
Bilgilerinize..
Bilgilendirici bir yazı tşkler
Çok teşekkür ederim 4 gündür halledemediydim..yüklü eski veritabanları için yapılacak birşey yok anladığım kadarıyla..teşekkürler tekrardan…
bu sorun bendede mevcuttu sayenizde çözdüm teşekkürler
essoloube nickli arkadaşın dediği şekilde yaptım sorun kalmadı. Bu konuyu hazırlayan arkadaşa ve özelliklede essoloube nickli arkadaşa teşekkür ederim.
Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)