Problème d'encodage, encore et toujours !!

Publié le par Marion et Sophie

Alors que notre script 4 marche très bien sur l'extrait qui correpond au mois de janvier 2008, son lancement sur la totalité de 2008 nous réserve quelques surprises !!

Sortie obtenue à partir de toute l'arborescence :

.La flamme olympique arrive lundi 7 avril en France.<img width='1' height='1' src='http://rss.feedsportal.com/c/205/f/3051/s/d5156f/mf.gif' border='0'/> <div class='mf-viral'><table border='0'><tr><td valign='middle'><a href="http://res.feedsportal.com/viral/sendemail2_fr.html?title="Les monastères sont encerclés et affamés", par Dominique Dhombres&link=http://www.lemonde.fr/opinions/article/2008/04/01/les-monasteres-sont-encercles-et-affames-par-dominique-dhombres_1029705_3232.html?xtor=RSS-3232" target="_blank"><img src="http://rss.feedsportal.com/content/images/partagez.gif" border="0" /></a></td><td valign='middle'><a href="http://res.feedsportal.com/viral/bookmark_fr.cfm?title="Les monastères sont encerclés et affamés", par Dominique Dhombres&link=http://www.lemonde.fr/opinions/article/2008/04/01/les-monasteres-sont-encercles-et-affames-par-dominique-dhombres_1029705_3232.html?xtor=RSS-3232" target="_blank"><img src="http://rss.feedsportal.com/content/images/bookmark.gif" border="0" /></a></td></tr></table></div>

Et oui, ce n'est pas très beau à voir !!

On remarque que les caractères accentués sont mal codés. Mais, même le chevron ouvrant : <, le chevron fermant : > et le & sont mal codés. Cela explique donc la présence de balises images. En effet, si les chevrons ne sont plus reconnus, on ne peut plus supprimer les images contenues dans la description qui étaient auparavant reconnues grâce aux chevrons.

Nous ne comprenons pas pourquoi on obtient de tels résultats alors que notre script marchait très bien sur une partie de l'arborescence et également pourquoi seule la balise 'image' est affectée !! MYSTERE !!

Eventuelle solution :

On pourrait éventuellement utiliser la commande de nettoyage que nous connaissons et l'aplliquer à ces problèmes de codages. Voici la forme que ça aurait :

    $propre=~s/&lt;/\</g;# nettoie
    $propre=~s/&gt;/\</g;# nettoie
    $propre=~s/&amp;eacute;/é/g;# nettoie
    $propre=~s/&amp;egrave;/è/g;# nettoie
    $propre=~s/&amp;icirc;/\î/g;# nettoie
    $propre=~s/&amp;ocirc;/\ô/g;# nettoie
    $propre=~s/&amp;ccedil;/\ç/g;# nettoie
    $propre=~s/&amp;agrave;/\à/g;# nettoie

Toute la question est de savoir où placer ce nettoyage dans le script pour que ça n'intervienne pas trop tard!! Ni trop tôt !

Publicité
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
S
Marion et Sophie<br /> <br /> De mémoire, ces lignes de code html (avec décodage partiel via des entités) est présent pour une période donnée de votre arborescence et arrive toujours au même endroit dans le texte du fil. Il faut s'en débarrasser en amont, un filtre via une regexp devrait faire l'affaire...
Répondre