Как переделать кодировку вывода xml.

Romario

Новичок
Как переделать кодировку вывода xml.

Здравствуйте, в скрипте есть файл rss.php заточеный под кодировку utf8, млжно ли как нибудь переделать на русскую кодировку Windows-1251?

PHP:
require_once 'init.php';
if(!ENABLE_RSS){
	header('Location: index.php');
	exit;
}
$expire_where = "AND (EXPIRY_DATE>=".$db->DBDate(time())." OR EXPIRY_DATE IS NULL)";

if(isset ($_REQUEST['p'])){
	$limit = LINKS_TOP;
	switch($_REQUEST['p']){
		case 'd':
			$sql = "SELECT * FROM {$tables['link']['name']} WHERE STATUS=2 $expire_where ORDER BY DATE_ADDED DESC";
			$tpl->assign('title', ' - Latest Links');
			break;
		case 'h':
			$sql = "SELECT * FROM {$tables['link']['name']} WHERE STATUS=2 $expire_where ORDER BY HITS DESC";
			$tpl->assign('title', ' - Top Hits');
			break;
	}
}
elseif(isset ($_REQUEST['q'])) {
	$tpl->assign('title', ' - Search results');
	$tpl->assign('description', ' Search results for: '.htmlspecialchars($_REQUEST['q']));
	$q = $db->qstr('%'.preg_replace('`\s+`','%', $_REQUEST['q']).'%');
	$sql = "SELECT * FROM {$tables['link']['name']} WHERE STATUS=2 AND (URL LIKE $q OR TITLE LIKE $q OR DESCRIPTION LIKE $q) $expire_where";
	
}elseif($id = get_category()){
	$sql = "SELECT * FROM {$tables['link']['name']} WHERE STATUS=2 AND CATEGORY_ID = $id $expire_where";
	$path = get_path($id);
	$url = '';
	$title = ' - ';
	for($i=1;$i<count($path);$i++){
		if(ENABLE_REWRITE){
			$url .= $path[$i]['TITLE_URL'].'/';
		}
		if($i>1){
			$title .= ' &gt; ';
		}
		$title .= $path[$i]['TITLE'];
		
	}
	if(!ENABLE_REWRITE){
		$url = 'index.php?c='.$id;
	}
	
	$tpl->assign('title', xml_utf8_encode($title));
	$tpl->assign('description', xml_utf8_encode($path[count($path)]['DESCRIPTION']));
}
$tpl->assign('url', htmlspecialchars('http://'.$_SERVER['SERVER_NAME'].DOC_ROOT.'/'.$url));
if($limit > 0){
	$rs = $db->SelectLimit($sql, $limit);
	$links = $rs->GetRows();
}else{
	$links = $db->GetAll($sql);
}
$n = count($links);
for($i=0;$i<$n;$i++){
	$links[$i]['TITLE'] = xml_utf8_encode($links[$i]['TITLE']);
	$links[$i]['DESCRIPTION'] = xml_utf8_encode($links[$i]['DESCRIPTION']);
	$links[$i]['URL'] = xml_utf8_encode($links[$i]['URL']);
	$links[$i]['RECPR_URL'] = xml_utf8_encode($links[$i]['RECPR_URL']);
	$links[$i]['OWNER_NAME'] = xml_utf8_encode($links[$i]['OWNER_NAME']);
	$links[$i]['OWNER_EMAIL'] = xml_utf8_encode($links[$i]['OWNER_EMAIL']);
}
if($n>0)
	$tpl->assign('links', $links);

header('Content-type: application/xml');
echo $tpl->fetch('rss2.tpl');


?>
 

slach

Новичок
очевидно надо прописать соответвующую кодировку в rss2.tpl META
и убрать xml_utf8_encode
 

Romario

Новичок
А по конкретней можно, что взять и по стирать xml_utf8_encode, скорее всего нужно заменить на русскую кодировку, а на что именно?
 
Сверху