TURAN40 adlı üyeden alıntı: mesajı görüntüle
Merhabalar.. Aşşağıdaki kodda karakter sorunu var nasıl düzeltiriz.

Bazı yazı başlıkları şöyle gözüküyor:
Öğrenci 'Allah' İsmini
Aliya İzzetbegoviç: Türkiye'nin Geleceği
Papa'ya Neden IŞİD'in Hedefinde



<?php
$resim_goster = TRUE;

header ("Content-type: application/rss+xml; charset=utf-8");


$ek = '';
if(isset($_GET['kategori'])) {
	$ek = "-".$_GET['kategori'];
}

$cachefile = "cache/rss-yandex-news".$ek.".rss";


# 15 dakika
$cachetime = 60 * 5;
if (file_exists($cachefile)){
	if(time() - $cachetime < filemtime($cachefile)){
		readfile($cachefile);
		exit;
	}else{
		unlink($cachefile);
	}
}




ob_start();
include "_boot.php";


$where = '';
if(isset($_GET['kategori'])) {
	$where.= "AND kategori = '".safe($_GET['kategori'],'string')."'";
}


echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
?>
<rss xmlns:yandex="http://haber.yandex.com.tr/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
	<channel>
	<title><?=temizlik_SM($ayar['siteadi'],false)?></title>
	<link><?=$ayar['url']?></link>
	<description><?=temizlik_SM($ayar['slogan'],false)?></description>
	<image>
		<title><?=temizlik_SM($ayar['siteadi'],false)?></title>
		<link><?=$ayar['url']?></link>
		<url><?=$ayar['url']?>images/banner/<?=$ayar['logo']?></url>
	</image>

	<?php

	$onceki = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s').' -1 week'));
	$news = $db->getir("SELECT id, baslik, kategori, spot, hta, detay, DATE_FORMAT(tarih,'%a, %d %b %Y %T') AS tarihx, resim, hta FROM haber WHERE aktif = '1' AND tarih >= '".$onceki."' $where ORDER BY tarih DESC LIMIT 900");

	if($news) {

		foreach($news AS $row) {

			$row['baslik'] = temizlik_SM($row['baslik']);
			$row['spot']   = temizlik_SM($row['spot']);
			$row['detay']  = strip_tags(temizlik_SM($row['detay']));
			
	?>

	<item>
		<link><?=$ayar['url'].$row['hta']."-h".$row['id']?>.html</link>
		<pubDate><?=$row['tarihx']?> +0300</pubDate>
		<category><![CDATA[<?=$row['kategori']?>]]></category>
		<title><![CDATA[<?=$row['baslik']?>]]></title>
		<description><![CDATA[<?=$row['spot']?>]]></description>
		<yandex:full-text><![CDATA[<?=$row['detay']?>]]></yandex:full-text>
		<yandex:related>
		<link url="<?=$ayar['url'].$row['hta']."-h".$row['id']?>.html"><?=tirnaksil($row['baslik'],false)?></link>
		</yandex:related>


	</item>

	<? } } ?>

	</channel>
</rss>


<?php


function temizlik_SM($s) {

	$bul      = array("&", "<", ">", "'", "\"", "&amp;#39;", "’", "–");
	$degistir = array("&amp;", "&lt;", "&gt;", "", "&quot;", "", "", "");

	return str_replace($bul,$degistir,$s);

}



file_put_contents($cachefile, ob_get_contents());
ob_end_flush();
Ustalar bir el atın size zahmet...


hocam header() fonksiyonundan önceki tanımlamalar vs, ekrana yazı basmalar falan header fonksiyonunu geçersiz kılar. $resim_goster = TRUE; bunu bi header fonksiyonunun altında tanımlayın. birde yazı göstereceğiniz yerlerde <![CDATA[ yazı buraya gelecek ]]> şeklinde kullanın.

iyi çalışmalar