problème magpierss et caratères spéciaux

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

problème magpierss et caratères spéciaux

Message le Mer Aoû 03, 2011 19:21

Bonjour,
j'ai utilisé la solution proposée par votre site pour intégrer un flux rss à une page de mon site.
Tout fonctionne et je vous remercie pour vos explications, cependant les informations s'affichent avec un losange et un point d’interrogation à l'intérieur sur chaque caractère spéciaux, apparemment il faut modifier le fichier feedparse.php mais que faut-il ajouter ?

Voici mon code:
Code: Tout sélectionner
<?php
require_once("magpierss/rss_fetch.inc");
function FeedParser($url_feed, $nb_items_affiches=5) {
$rss = fetch_rss($url_feed);
if (is_array($rss->items))  {     
$items = array_slice($rss->items, 0, $nb_items_affiches);
   $site_titre = $rss->channel["title"];
   $site_lien = $rss->channel["link"];
   $site_description = $rss->channel["description"];
   $logo_titre = $rss->image["title"];
   $logo_description = $rss->image["description"];
   $logo_url = $rss->image["url"];
   $logo_lien = $rss->image["link"];
   $html = "<span style=\"float:left;margin:5px 0 0 5px\"><a href=\"".$logo_lien."\"><img src=\"".$logo_url."\" border=\"0\" alt=\"".$logo_description."\" title=\"".$logo_titre."\"></a></span>\n";
   $html .= "<a href=\"".$site_lien."\" title=\"".$site_description."\" target=\"_blank\">".$site_titre."</a><br>\n";
   $html .= "<span style=\"font-size:10px\">".$site_description."</span><br clear=\"left\"><br>\n";
   foreach($items as $item) {
     $titre = $item["title"];
     $lien = $item["link"];
     $description = $item["description"];
         if (isset($item["enclosure"])) {
  $photo = $item["enclosure"];
} else {
  $photo = "";
}
     $date = date("d/m/y",strtotime($item["pubdate"]));
     if($photo!="")
       $html .= "<img src=\"".$photo."\" alt=\"".$titre."\" style=\"float:left;margin-right:5px\">\n";
     $html .= "<a href=\"".$lien."\" title=\"".$titre."\" target=\"_blank\">".$titre."</a><br>\n";
     $html .= "<span class=\"tiny\">".$date." - ".$description = substr("$description",0 , 47).$titre = "...";"</span><br clear=\"left\"><br>\n";
}
return $html;
}
}

?>


Bien à vous,
pipido ;)


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: problème magpierss et caratères spéciaux

Message le Mer Aoû 03, 2011 20:44

Ton problème peut venir de plusieurs raisons, avec si peu d'indications, impossible de te guider.

NB: Magpie est complètement outdated, plus de mise à jour depuis le 5 novembre 2005.
Je te conseille plutôt d'utiliser SimplePie: http://simplepie.org/

longo600
WRInaute impliqué
WRInaute impliqué
 
Messages: 896
Inscription: 24 Fév 2005

Re: problème magpierss et caratères spéciaux

Message le Mer Aoû 03, 2011 23:24

Si dans l'ente de la page afichée il y a le codage approprié (utf-8, iso ...) , les caractères spéciaux ne devraient plus poser de probleme. Ce n'est pas plutot dans ton template qu'il manque ce codage? Si il n'y a pas de template, il doit y avoir un codage qq part! regarde dans d'autres flux rss ou il se trouve.


infiniclick
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 28 Sep 2007

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 9:56

spout a écrit:Je te conseille plutôt d'utiliser SimplePie: http://simplepie.org/

Visiblement la page de téléchargement est vide :-)

Pour récupérer le script https://github.com/rmccue/simplepie/


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 10:07

Oui apparemment ils ont renommé le repository: https://github.com/simplepie/simplepie

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 10:56

Merci à spout, longo600 et infiniclick!
Je vois avec les liens que vous m'envoyez.
je vous tiens au courant, merci pour votre aide.
à tout à l'heure :)

longo600
WRInaute impliqué
WRInaute impliqué
 
Messages: 896
Inscription: 24 Fév 2005

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 12:28

Tu devrais obtenir la génération d'un feed avec l'élément charset renseigné (ici en utf-8, ou iso-8859-1), exemple

<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<script language="JavaScript" src="feed://__rsrc__/__rsrc__/Articles.js"></script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="feed://__rsrc__/__rsrc__/Main.css" title="default" type="text/css" />
</head>

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:00

Bon voilà, il y a des choses qui fonctionnent et d'autres pas :$

Qui fonctionnent :
il y a une mise en page et les images apparaissent, cool

Qui fonctionnent pas:
- Les caractères spéciaux font tjs défaut
mon site est en utf-8 et le flux rss arrive en iso-8859-1 est-il possible d'intégrer le iso dans le code php du fichier qui gère le flux rss?


J'ai plusieurs erreurs sur ma page:

1- j'ai pourtant autorisé tout ! (777) sur mon fichier simplepie.inc
Code: Tout sélectionner
Warning: cachenews/ is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable. in /homez.116/itineris/www/under/simplepie.inc on line 1780


2emme alerte, dois-je déclarer ma fonction?
Code: Tout sélectionner
Fatal error: Call to undefined function FeedParser() in /homez.116/itineris/www/under/index.php on line 169


A mon avis c'est pas ultra clair, mais en fonction de vos réactions, je vais affiner :)


infiniclick
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 28 Sep 2007

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:06

Pour ta première erreur, ce sont les droits sur le dossier cachenews qui sont incorrects.

Pour la seconde, il te dit qu'il ne trouve pas la fonction FeedParser.

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:08

et voici le code de simplepie, mon fichier php est intitulé feedparser.php (en hommage à mapierss) :)
Code: Tout sélectionner
<?php
$fichier_xml='http://www.lemonde.fr/rss/sequence/0,2-3208,1-0,0.xml';
require 'simplepie.inc';
$feed = new SimplePie();
$feed->set_feed_url($fichier_xml);
$feed->enable_order_by_date(false);
$feed->set_cache_location('cachenews/');
$feed->init();
    if($feed->data){
        $max=$feed->get_item_quantity(5);
        for($x=0; $x<$max; $x++) {
            $item=$feed->get_item($x);
        echo "<div style=\"width: 290px; text-align: left;
                padding: 4px; background-color: #FFFFEE;
                border: 1px solid #CCCCCC; margin: 6px;\">
                <a href=\"";
        echo $item->get_permalink();
        echo "\">";
        echo utf8_decode($item->get_title());
        echo "</a><br />";
            if($enclosure=$item->get_enclosure(0)){
                   echo "<img src=\"";
                   echo $enclosure->get_link();
                   echo "\" border=\"1\" style=\"float: left;
                             margin: 4px; margin-top: 8px;\">";
            }
        echo utf8_decode($item->get_description());
        echo "</div>";
        }
}
?>

et dans ma page index.php il y a ceci pour appeler le flux
Code: Tout sélectionner
<?php
require_once("feedparser.php");
echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");
?>
Dernière édition par pipido le Jeu Aoû 04, 2011 13:45, édité 1 fois.

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:13

infiniclick a écrit:Pour ta première erreur, ce sont les droits sur le dossier cachenews qui sont incorrects.

Pour la seconde, il te dit qu'il ne trouve pas la fonction FeedParser.


Ok, pour le dossier cachenews! De mon côté je n'avais que le dossier "cache" que j'ai renommé, et cela fonction :) merci

pour la seconde, je nage...
où devrait elle ce situer ?


infiniclick
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 28 Sep 2007

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:20

Commence par commenter la ligne et dis nous ce qu'il en est.
//echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:25

infiniclick a écrit:Commence par commenter la ligne et dis nous ce qu'il en est.
//echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");


idem >
Code: Tout sélectionner
Fatal error: Call to undefined function FeedParser() in /homez.116/itineris/www/under/index.php on line 172

j'ai inséré la ligne que tu m'as proposé dans ma page index.php comme ceci
Code: Tout sélectionner
<?php
    //echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");
require_once("feedparser.php");
echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");
?>


infiniclick
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 28 Sep 2007

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:26

Bah non, il faut remplacer celle qui te créé une erreur :mrgreen:

<?php
require_once("feedparser.php");
//echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");
?>

pipido
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 3 Aoû 2011

Re: problème magpierss et caratères spéciaux

Message le Jeu Aoû 04, 2011 13:38

infiniclick a écrit:Bah non, il faut remplacer celle qui te créé une erreur :mrgreen:

<?php
require_once("feedparser.php");
//echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");
?>


ha oui ! hum, déso. PLUS D'ERREUR! :D

j'ai remarqué par la suite que la ligne de mon index.php
Code: Tout sélectionner
<?php
require_once("feedparser.php");
//echo FeedParser("http://www.musicinbelgium.net/pl/rss.php");
?>

n'est pas en rapport avec la ligne de mon fichier feedpaerser.php
Code: Tout sélectionner
// adresse du flux qu'on souhaite intégrer.
$fichier_xml='http://www.lemonde.fr/rss/sequence/0,2-3208,1-0,0.xml';


Merci Merci !
je vous envoi ma dernière question!

problème magpierss et caratères spéciaux

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité