RSS parser, karakterkódolás
Sziasztok!
Ezzel próbálkoznék http://magpierss.sourceforge.net/ rss híreket kirakni egy oldalra, de őű helyett kérdőjel jelenik meg. A magpierss UTF-8, US-ASCII, ISO-8859-1 karakódolásokat ismer.
Alapértelmezésben ISO-8859-1 -ban adja vissza a híreket, probaltam átkódolni $title = iconv("ISO-8859-1","ISO-8859-2", $title) de ugyanaz lett az eredmény. Tipp?
üdv.: Zsolt
■ Ezzel próbálkoznék http://magpierss.sourceforge.net/ rss híreket kirakni egy oldalra, de őű helyett kérdőjel jelenik meg. A magpierss UTF-8, US-ASCII, ISO-8859-1 karakódolásokat ismer.
Alapértelmezésben ISO-8859-1 -ban adja vissza a híreket, probaltam átkódolni $title = iconv("ISO-8859-1","ISO-8859-2", $title) de ugyanaz lett az eredmény. Tipp?
üdv.: Zsolt
előre kódold át
<Nincs cím>
üdv.: Zsolt
kipróbáltam,
Kis kiegészítés a működéshez
Segítettek a hozzászólások, de engedjétek meg, hogy kódokkal is segítsem a megértést, hogy máskor másoknak még gyorsabban sikerüljön a problémát áthidalni:
Tehát a Readme-ben látott példa átalakítva úgy, hogy működjön az ISO-8859-2 ben is.
A lényeg, hogy ez eleján az objektum konstansainak értéket kell adni, azaz azt mondom nkei, hogy be és kimenet is UTF-8 legyen.
S kiíratásnál valóban az iconv abból tud már ISO-8859-2-t csinálni.
Köszi a segítséget, nélkületek még tépném hajam. :)
A //TRANSLIT lehet hogy nem is kell, de hát benne maradt...
define('MAGPIE_INPUT_ENCODING', 'UTF-8');
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
require_once('magpierss/rss_fetch.inc');
$url="http://www.vibrator.hu/feed/";
$rss = fetch_rss($url);
echo "" . iconv("UTF-8","ISO-8859-2//TRANSLIT",$rss->channel['description']) . "<p>";
echo "<ul>";
foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];
$title = iconv("UTF-8","ISO-8859-2//TRANSLIT",$title);
echo "<li><a href=$href>$title</a></li>";
}
echo "</ul>";