Bonjour,

Je ne sais si je suis dans le bon forum et m'excuse auprès du modérateur si je me suis mal situé.

Voilà mon souci.

J'ai mis un flux rss généré via unscriptt php sur un site . Mais lorsque je vérifie le flux en tapant dans ma barre de navigation je constate que :

les apostrophes sous FF sont remplacés par des symboles chinois tant dans le titre que dans le résumé

et que :

sous IE l'apostrophe est tout simplement éludé dans le titre uniquement.

Pourtant ma bdd, ma table, mes champs sont en UTF8 et j'ai encodé via notepad le script en utf8.

Quelqu'un s'y connaissant pourrait-il m'aider s'il vous plaît. Je vous remercie par avance. Je mets ci-dessous le se script générant le rss. xml.

Fichier.php générant le flux rss


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
 
function &init_news_rss(&$xml_file)
{
        $root = $xml_file->createElement("rss"); // création de l'élément
        $root->setAttribute("version", "2.0"); // on lui ajoute un attribut
        $root = $xml_file->appendChild($root); // on l'insère dans le noeud parent (ici root, qui est "rss")
 
        $channel = $xml_file->createElement("channel");
        $channel = $root->appendChild($channel);
 
        $desc = $xml_file->createElement("description");
        $desc = $channel->appendChild($desc);
        $text_desc = $xml_file->createTextNode("madescription"); // on insère du texte entre les balises <description></description>
        $text_desc = $desc->appendChild($text_desc);
 
        $link = $xml_file->createElement("link");
        $link = $channel->appendChild($link);
        $text_link = $xml_file->createTextNode("http://www.site.com");
        $text_link = $link->appendChild($text_link);
 
        $title = $xml_file->createElement("title");
        $title = $channel->appendChild($title);
        $text_title = $xml_file->createTextNode("site.com");
        $text_title = $title->appendChild($text_title);
 
        return $channel;
}
 
function add_news_node(&$parent, $root, $id_billet, $auteur, $titre, $resume, $date)
{
        $item = $parent->createElement("item");
        $item = $root->appendChild($item);
 
        $title = $parent->createElement("title");
        $title = $item->appendChild($title);
        $text_title = $parent->createTextNode($titre);
        $text_title = $title->appendChild($text_title);
 
        $link = $parent->createElement("link");
        $link = $item->appendChild($link);
        $text_link = $parent->createTextNode("http://www.site.com/controleur/commentaire/index.php?billets=$id_billet");
        $text_link = $link->appendChild($text_link);
 
        $desc = $parent->createElement("description");
        $desc = $item->appendChild($desc);
        $text_desc = $parent->createTextNode($resume);
        $text_desc = $desc->appendChild($text_desc);
 
        $com = $parent->createElement("comments");
        $com = $item->appendChild($com);
        $text_com = $parent->createTextNode("http://www.site.com/controleur/commentaire/index.php?billets=$id_billet");
        $text_com = $com->appendChild($text_com);
 
        $author = $parent->createElement("author");
        $author = $item->appendChild($author);
        $text_author = $parent->createTextNode($auteur);
        $text_author = $author->appendChild($text_author);
 
        $pubdate = $parent->createElement("pubDate");
        $pubdate = $item->appendChild($pubdate);
        $text_date = $parent->createTextNode($date);
        $text_date = $pubdate->appendChild($text_date);
 
        $guid = $parent->createElement("guid");
        $guid = $item->appendChild($guid);
        $text_guid = $parent->createTextNode("http://www.site.com/controleur/commentaire/index.php?billets=$id_billet");
        $text_guid = $guid->appendChild($text_guid);
 
        $src = $parent->createElement("source");
        $src = $item->appendChild($src);
        $text_src = $parent->createTextNode("http://www.site.com");
        $text_src = $src->appendChild($text_src);
}
 
 
function rebuild_rss()
{
        // on se connecte à la BDD
       try 
		{
			$bdd = new PDO('mysql:host=localhost;dbname=mabdd','monidentifiant','mommotdepasse' );
		}
		catch(Exception $e)
		{
			die ('Erreur:'.$e->getMessage());
		}
		$req = $bdd->query('SELECT id_billet, titre, resume,auteur,DATE_FORMAT(date_de_creation,\'%d/%m/%Y à %Hh%imin%ss\') AS date_de_creation_fr FROM tableau ORDER BY date_de_creation DESC LIMIT 0,5');
 
 
        // on crée le fichier XML
        $xml_file = new DOMDocument("1.0");
 
		$channel = init_news_rss($xml_file);
 
 
        // on ajoute chaque news au fichier RSS
       while( $donnees = $req->fetch() )
        {
                add_news_node($xml_file, $channel, utf8__encode($donnees["id_billet"]), utf8__encode($donnees["auteur"]), utf8__encode($donnees["titre"]), 
utf8__encode($donnees["resume"]), utf8__encode($donnees["date_de_creation"]));
        }
 
        // on écrit le fichier
        $xml_file->save("rss.xml");
}
 
 
 
rebuild_rss();
 
 
 
?>