also mittlerweile kann ich es wohl auf das skript reduzieren, denn ich habe nun unterschiedliche skripte wovon mir eines den korrekten code ausgibt.
das ursprüngliche skript
PHP-Code:
<?php
function microtime_float()
{
if (version_compare(phpversion(), '5.0.0', '>='))
{
return microtime(true);
}
else
{
list($usec, $sec) = explode(' ', microtime());
return ((float) $usec + (float) $sec);
}
}
$start = microtime_float();
include('../simplepie.inc');
// Parse it
$feed = new SimplePie();
if (!empty($_GET['feed']))
{
if (get_magic_quotes_gpc())
{
$_GET['feed'] = stripslashes($_GET['feed']);
}
$feed->set_feed_url($_GET['feed']);
$feed->init();
}
$feed->handle_content_type();
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo (empty($_GET['feed'])) ? 'SimplePie' : 'SimplePie: ' . $feed->get_title(); ?></title>
</head>
<body>
<h1><?php echo (empty($_GET['feed'])) ? 'SimplePie' : 'SimplePie: ' . $feed->get_title(); ?></h1>
<form action="" method="get" name="sp_form" id="sp_form">
<p><input type="text" name="feed" value="
<?php echo ($feed->subscribe_url()) ? htmlspecialchars($feed->subscribe_url()) : 'http://'; ?>"
class="text" id="feed_input" />
<input type="submit" value="Read" class="button" /></p>
</form>
<div id="sp_results">
<?php if ($feed->data): ?>
<?php $items = $feed->get_items(); ?>
<p align="center"><span style="background-color:#ffc;">Displaying
<?php echo $feed->get_item_quantity(); ?> most recent entries.</span></p>
<?php foreach($items as $item): ?>
<div class="chunk" style="padding:0 5px;">
<h4><a href="<?php echo $item->get_permalink(); ?>">
<?php echo $item->get_title(); ?></a> <?php echo $item->get_date('j M Y'); ?></h4>
<?php echo $item->get_content(); ?>
<?php
if ($enclosure = $item->get_enclosure(0))
echo '<p><a href="' . $enclosure->get_link() . '" class="download">
<img src="./for_the_demo/mini_podcast.png" alt="Podcast" title="Download the Podcast" border="0" /></a></p>';
?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
<div id="footer">
Powered by <?php echo SIMPLEPIE_LINKBACK; ?>, a product of
<a href="http://www.skyzyx.com">Skyzyx Technologies</a>.<br />
Page created in <?php echo round(microtime_float()-$start, 3); ?> seconds.
</div>
</body>
</html>
das ganze skript habe ich nun auf das minimalste gekürzt
PHP-Code:
<?php
include('simplepie/simplepie.inc');
$feed = new SimplePie();
$dumpurl = 'http://itsnotforthecock.dlpwd.co.uk/feed';
if (!empty($dumpurl))
{
if (get_magic_quotes_gpc())
{
$dumpurl = stripslashes($dumpurl);
}
$feed->set_feed_url($dumpurl);
$feed->init();
}
$feed->handle_content_type();
//echo (empty($dumpurl));
echo $feed->get_title() . "<br>";
echo $feed->get_items();
echo var_dump($feed);
?>
das witzige ist nun ich bekomme
echo $feed->get_title(); korrekt angezeigt aber,
echo $feed->get_items(); ist dagegen falsch.
meine gedanke war nun, dass wohl in simplepie. inc irgendwas bei get_items() passieren muss, was mir den zeichensatz verhagelt. doch die funktionen sind sehr ähnlich .
Vielen Dank für Anregungen
so nun habe ich folgende ergänzng gemacht
$feed->set_output_encoding('Windows-1252');
und es funktioniert.
ich will jedoch utf-8
was laut doku standardmäßig ausgegeben wird.
der fehler liegt wohl daran, dass ich in meinem html dokument diese zeile vergessen habe
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
ok schön und gut, aber das ist nur zum debuggen, das ganze wird in eine mysql db geschrieben, die auf utf-8 gestellt ist..
versucht habe ich nun folgendes
PHP-Code:
header('Content-Type: text/html; charset=utf-8');
doch das bringt nichts....