Bonjour à tous,
J'ai un gros problème de décodage de caractères, je m'explique, j'ai un forum phpBB à partir duquel j'ai fais un petit script php pour récupérer les messages les plus récents. Pour ceux que ça intéresse voici le script:
$connect = mysql_connect($serveur, $pseudo, $pass);
$db = mysql_select_db($base);

$sql = "SELECT `topic_id`, `topic_title`, `topic_time`, `forum_name`, phpbb_forums.forum_id
FROM `phpbb_topics`, `phpbb_forums`
WHERE phpbb_forums.forum_id = phpbb_topics.forum_id
AND `auth_view` = '0'
ORDER BY `topic_time` DESC
LIMIT 0,6";
$r_topics = mysql_query($sql) or die(mysql_error());
while ($aff_forums = mysql_fetch_array($r_topics))
{
$id = $aff_forums['topic_id'];
$f_id = $aff_forums['forum_id'];
$title = $aff_forums['topic_title'];
$f_title = $aff_forums['forum_name'];
$time = $aff_forums['topic_time'];
$time = date("d-m-Y", $time);

//Comparaison de la date courante avec la date du post
//On récupère la date courante
$current_time = date("d-m-Y");
//On récupère la date courante sous forme d'un timestamp
$explodetoday = explode("-", $current_time);
$stoday = mktime(0, 0, 0, $explodetoday[1], $explodetoday[0], $explodetoday[2]);

//On récupère la date du post sous forme d'un timestamp
$explodepastdate = explode("-", $time);
$spastdate = mktime(0, 0, 0, $explodepastdate[1], $explodepastdate[0], $explodepastdate[2]);

//On récupère la différence en jours
$difference = $stoday - $spastdate;
$days = intval($difference/86400);

//Si la différence est inférieure à 5 jours, on considère comme une nouveauté
if($days < 5)
$new_post = '&nbsp;<img src="new.gif" width="30" height="13" alt="nouveaut&eacute;" /><br />';
else
$new_post = "<br />";

$post = mysql_db_query($base,"select `post_id`, `poster_id` from phpbb_posts where topic_id = '$id'" ,$connect);
$p = mysql_fetch_array($post);
$p_id = $p['post_id'];

//utilisateur à avoir écris sur le post
$user_id = $p['poster_id'];

$requete_utilisateur = mysql_db_query($base,"select `username` from phpbb_users where user_id = '$user_id'" ,$connect);
$u = mysql_fetch_array($requete_utilisateur);
$name = $u['username'];

echo "<font color=\"#018AB9\">".$time." - <strong>".html_entity_decode($name)." : </strong></font><a href=\"http://forum.cvk.fr/viewtopic.php?t=".$id."\">".html_entity_decode($title)."</a>".$new_post;
}
mysql_close($connect);
Le problème auquel je suis confronté est qu'il n'affiche pas correctement les caractères accentués ou les doubles cotes.

Pour voir le résultat, voici le lien de mon site sur lequel vous verrez en bas de la page d'accueil le problème que j'évoque.
www.cvk.fr

Est ce un problème dans mon script? Dans l'encodage de ma BDD? Dans le décodage de ma page?

Merci de votre aide,
Alex