|
Если ваш сайт сделан в кодироке 1251, и лента тоже в кодировке 1251 то можно отключить перекодировку в агрегаторе. Для этого достаточно закомментировать вызовы mosCommonHTML::newsfeedEncoding в файлах /includes/frontend.html.php и /components/com_newsfeeds/newsfeeds.html.php, а потом применить маленький патч :)
*** xml_domit_rss_shared.php.old --- xml_domit_rss_shared.php.new *************** *** 372,378 **** */ function getElementText($elementName) { $elementName = strtolower($elementName); ! return $this->_getElementText($elementName, $this->DOMIT_RSS_indexer); } //getElementText /** --- 372,378 ---- */ function getElementText($elementName) { $elementName = strtolower($elementName); ! return iconv('utf-8','windows-1251',$this->_getElementText($elementName, $this->DOMIT_RSS_indexer)); } //getElementText /** *************** *** 383,389 **** function getElementTextAt($index) { $this->indexNumerically(); ! return $this->_getElementText($index, $this->DOMIT_RSS_numericalIndexer); } //getElementTextAt /** --- 383,389 ---- function getElementTextAt($index) { $this->indexNumerically(); ! return iconv('utf-8','windows-1251',$this->_getElementText($index, $this->DOMIT_RSS_numericalindexer)); } //getElementTextAt /** *************** *** 778,783 **** --- 778,786 ---- } } + preg_match("|<?xml.*encoding=\"(.*)\".*>|Umsi",$fileContents,$m); + $fileContents = iconv($m[1],'utf-8',$fileContents); + $fileContents = str_replace($m[1],'utf-8',$fileContents); return $fileContents; } //getTextFromFile
|