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 18,789 kez görüntülenmiştir
En son ise 28 Eylül 2008, 17:02 tarihinde güncellenmiştir
Bu yazı 84 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 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
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…
Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)