[Çözüldü] Haber Arşivi Türkçe Karakter Çözümü

Begonnen von navruz, 22 Februar 2008, 12:49:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

navruz

Merhaba  :)
Son sürümle birlikte oldukça faydalı değişiklikler yapılmış. Kuralı 15 gün olduğu halde hala yeni özellikler fark ediyorum. Bunun için pragmamx kodlayıcılaına teşekkürlerimi sunuyorum.

Gelelim konumuza. Orijinal adıyla Stories_Archive modülü son sürümle birlikte daha işlevsel bir hale getirilmiş durumda. Fakat haber başlıklarını veritabanından çeken bölümde htmlentities() fonksiyonu kullanılmış.Bu fonksiyon henüz Türkçe'mizin standardı olan iso-8859-9 standardını  desteklemiyor ve ş, ğ, ç gibi Türkçe karakterler bozuk olarak görünüyor.
Modülün index.php dosyasında
$row['hometext'] = preg_replace('#<(p|br)[^>]*>#i', ' ', $row['hometext']);
        $row['hometext'] = str_replace('&nbsp;', ' ', $row['hometext']);

kodunun öncesine
Zitat$row['title'] = str_replace("&ccedil;","ç",$row['title']);
$row['title'] = str_replace("&eth;","ğ",$row['title']);
$row['title'] = str_replace("&yacute;","ı",$row['title']);
$row['title'] = str_replace("&ouml;","ö",$row['title']);
$row['title'] = str_replace("&uuml;","ü",$row['title']);
$row['title'] = str_replace("&thorn;","ş",$row['title']);
$row['title'] = str_replace("&Ccedil;","Ç",$row['title']);
$row['title'] = str_replace("&Eth;","Ğ",$row['title']);
$row['title'] = str_replace("&Yacute;","İ",$row['title']);
$row['title'] = str_replace("&Ouml;","Ö",$row['title']);
$row['title'] = str_replace("&Uuml;","Ü",$row['title']);
$row['title'] = str_replace("&Thorn;","Ş",$row['title']);
kodunu ekleyerek Türkçe karakterlerin düzgün çıkmasını sağlayabilirsiniz.
Örnek : http://www.bozkir.net/HaberArsivi.html
Destek için forumu kullanın. Özel mesaj atmayın.

pragmaMx Türkiye

Sitki

Merhaba :)

bu problemi yeni 0.1.10 sürümünün yayınlanmasından az sonra fark ettim, yani bundan bilgim var. Bunun düzeltilmesi ilk çıkacak olan patch veya sürümde yapılacaktır. Bilgi ve önermiş olduğun çözüm yolu için yinede teşekkürler.

Fakat çözüm olarak sonraki daha basit yolu izleyebilirsiniz.
/modules/Stories_Archive/index.php

Bul:
$row['title'] = '<a href="modules.php?name=News&amp;file=article&amp;sid=' . $row['sid'] . '">' . htmlentities($row['title']) . '</a>';

Değiştir:
$row['title'] = '<a href="modules.php?name=News&amp;file=article&amp;sid=' . $row['sid'] . '">' . htmlspecialchars($row['title']) . '</a>';

Bul:
$row['cat_title'] = '<a href="modules.php?name=News&amp;file=categories&amp;catid=' . $row['catid'] . '">' . htmlentities($row['cat_title']) . '</a>';

Değiştir:
$row['cat_title'] = '<a href="modules.php?name=News&amp;file=categories&amp;catid=' . $row['catid'] . '">' . htmlspecialchars($row['cat_title']) . '</a>';

Sonuçta sadece 2kez

htmlentities = htmlspecialchars

olarak değiştiriliyor. Hatta "html_entity_decode" de kullanılabilir olması lazım.
viele Grüße

Kein Support über PN, Mail oder Messenger!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

navruz

Merhaba :)
Evet bu yöntemide biliyorum. Açıkçası kod değiştirmek yerine bu kodları eklemenin daha kolay olacağını düşündüğüm için o kodları vermiştim. :)
Destek için forumu kullanın. Özel mesaj atmayın.

pragmaMx Türkiye

ozeraksu

Merhaba


Ayni sorunu bende faretmiştim ama çözüldü bilgi için teşekkürler.
Destek için forumu kullanın. Özel mesaj atmayın..