<h2>But de ce document</h2>
<p class="spip">Ce document contient les modifications à effectuer dans Spip version 1.7.2, pour arriver à avoir des flux RSS prenant correctement en charge les caractères spéciaux et accentués.</p>

<p class="spip">Étant donné que j’ai un peu galèré pour arriver à corriger ce problème, j’ai écrit cet article en espérant qu’il serve à d’autres personnes.</p>

<p class="spip">Je précise que normalement ce problème est corrigé avec la version 1.8 de Spip.</p>

<h2>Modification du fichier « backend.html »</h2>
<p class="spip">Par défaut, ce fichier n’existe pas.</p>

<p class="spip">Il faut donc commencer par copier et renommer le fichier « <strong class="spip">backend-dist.html</strong> » en « <strong class="spip">backend.html </strong> »</p>

<p class="spip">Ensuite, il faut ajouter les lignes suivantes au tout début du fichier pour indiquer l’encodage à utiliser :</p>

<p class="spip"><code class='spip_code' dir='ltr'><?php</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>echo "<"."?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">";</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>?></code></p>

<h2>Test dans Thunderbird ou Firefox</h2>
<p class="spip">Pour que la modification soit prise en compte immédiatement, il est possible de modifier le fichier « <strong class="spip">backend.php3</strong> » en mettant 0 à la place de 3600 comme délai de mise à jour :</p>

<p class="spip"><code class='spip_code' dir='ltr'>$delais = 0;</code></p>

<p class="spip">Une fois que tout fonctionnera correctement, il sera préférable de remettre le délai à 3600, pour limiter la surcharge du serveur.</p>

<p class="spip">Dans Thunderbird, pour vérifier que le flux est corrigé, il faut supprimer l’abonnement au site et le recréer, ce qui aura pour effet de rappeler les 10 derniers articles publiés.</p>

<p class="spip">Dans Firefox, il faut supprimer et recréer le marque page dynamique.</p>

<p class="spip">Avec la modification précédente, le problème des accents est corrigé, mais il reste un problème avec les espaces insécables ajoutés par Spip devant chaque signe «  : »</p>

<h2>Création d’un filtre personnalisé pour corriger les espaces insécables</h2>
<p class="spip">Dans un flux RSS, l’espace insécable est remplacé par la chaîne de caractères suivante «   »</p>

<p class="spip">Le problème des espaces insécables apparaît avec Firefox et Thunderbird mais est peut-être corrigé automatiquement avec d’autres lecteurs de flux RSS.</p>

<p class="spip">Pour corriger, ce problème, il faut créer un filtre personnalisé. Il faut ajouter ce filtre dans le fichier « <strong class="spip">mes_fonctions.php3</strong> ». Si ce fichier n’existe pas, il faut le créer en respectant bien la syntaxe du nom car si Spip détecte l’existence de ce fichier, il l’utilisera automatiquement.</p>

<p class="spip">Ce filtre personnalisé nommé « <strong class="spip">filtre_rss</strong> », se contente d’effacer la chaîne de caractères « &nbsp ; ».</p>

<p class="spip">Voici donc le contenu du fichier « <strong class="spip">mes_fonctions.php3</strong> » :</p>

<p class="spip"><code class='spip_code' dir='ltr'><?php</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>function filtre_rss($texte) {</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>   $texte = str_replace("&nbsp;", "", $texte);</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>   return $texte;</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>}</code></p>

<p class="spip"><code class='spip_code' dir='ltr'>?></code></p>

<h2>Utilisation du filtre personnalisé</h2>
<p class="spip">Pour utiliser ce filtre, il faut modifier le fichier « <strong class="spip">backend.html</strong> » et ajouter « <strong class="spip">|filtre_rss</strong> » sur la ligne affichant les 10 derniers titres des articles :</p>

<p class="spip"><code class='spip_code' dir='ltr'> <BOUCLE_10recents(ARTICLES){lang ?}{branche ?}{par date}{inverse}{0,10}{unique}></code></p>

<p class="spip"><code class='spip_code' dir='ltr'>  <item></code></p>

<p class="spip"><code class='spip_code' dir='ltr'>  <title>[(#TITRE|texte_backend|filtre_rss)]</title></code></p>

<p class="spip">Et normalement l’affichage des flux RSS devrait être parfaitement lisible.</p>

<h2>Historique des modifications</h2>
<table class="spip">
<thead><tr class='row_first'><th scope='col'><strong class="spip">Version</strong></th><th scope='col'><strong class="spip">Date</strong></th><th scope='col'><strong class="spip">Commentaire</strong></th></tr></thead>
<tbody>
<tr class="row_even"><td>0.1</td><td>16/05/05</td><td>Création par Tony GALMICHE</td></tr>
<tr class="row_odd"><td> </td><td> </td><td> </td></tr>
</tbody>
</table>