diff --git a/htdocs/includes/boxes/box_external_rss.php b/htdocs/includes/boxes/box_external_rss.php index 5ae1e8502cd..611d2ee6080 100644 --- a/htdocs/includes/boxes/box_external_rss.php +++ b/htdocs/includes/boxes/box_external_rss.php @@ -91,7 +91,15 @@ class box_external_rss extends ModeleBoxes { { $item = $rss->items[$i]; $href = $item['link']; - $title = utf8_decode(urldecode($item['title'])); + $result = $this->utf8_check(urldecode($item['title'])); + if ($result) + { + $title = utf8_decode(urldecode($item['title'])); + } + else + { + $title = (urldecode($item['title'])); + } $title=ereg_replace("([[:alnum:]])\?([[:alnum:]])","\\1'\\2",$title); // Gère problème des apostrophes mal codée/décodée par utf8 $title=ereg_replace("^\s+","",$title); // Supprime espaces de début $this->info_box_contents["$href"]="$title"; @@ -102,6 +110,27 @@ class box_external_rss extends ModeleBoxes { 'target' => 'newrss'); } } + + /** + * \brief Vérifie si le flux est en UTF8 + * \param $Str chaine à vérifier + */ + function utf8_check($Str) { + for ($i=0; $i