ugrás a tartalomhoz

RSS parser, karakterkódolás

Anonymous · 2005. Aug. 4. (Cs), 20.13
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
 
1

előre kódold át

Hojtsy Gábor · 2005. Aug. 4. (Cs), 20.18
Azt kódold át UTF8-ra, amit a Magpie-nak adsz, aztán amit kapsz, azt kódold vissza latin2-be, ha már neked feltétlenül az kell. Vagy hagyd UTF8-ban, és azzal készítsd az egész webhelyet, így jobb lesz a világ :)
2

<Nincs cím>

Anonymous · 2005. Aug. 4. (Cs), 20.27
Magic tud kimenetnek UTF-8-at is (a default ISO-8859-1 helyett), azt beállítottam, és abból valóban sikerült ISO-8859-2-et csinalni iconv-al. Köszönöm a segítséget! Hagynám én UTF-8-ban, de főnököm ragaszkodik a ISO-8859-2-höz :(

üdv.: Zsolt
3

kipróbáltam,

Anonymous · 2006. Okt. 12. (Cs), 17.43
de nekem így sem működik... :(
4

Kis kiegészítés a működéshez

Báhidszki Márton · 2009. Nov. 3. (K), 11.36
Sziasztok.
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>";