Problème conversion ISO-8859-1 vers UTF-8 des flux RSS
J'utilise SPIP 2.0.5 + AHUNTSIC
La syndication entre-autres du site http://www.actuchomage.org/backend.php pose un léger problème d'affichage.
En effet, le flux RSS de ce site est en ISO-8859-1 et en plus contient souvent les caractères suivants
left (double) angle quote (guillemet) AB « « --> « right (double) angle quote (guillemet) BB » » --> » low horizontal ellipsis 85 … --> …
Ces caractères avant d'être mis dans la table spip_syndic_articles doivent être traduit en UTF-8 (cf ecrire/inc/charsets.php, function importer_charset)
Or la traduction est mal faite et sql stocke des chaînes tronquées sur << en le remplacant par un A majuscule accentué.
En utilisant dans la fonction de conversion (importer_charset) la fonction http://fr.php.net/utf8_encode on corrige le problème.
// on traite le cas le plus frequent iso-8859-1 vers utf directement pour aller plus vite ! if (($charset == 'iso-8859-1') && ($GLOBALS['meta']['charset']=='utf-8')){ return utf8_encode($texte);