Bonjour a tous,

Je viens de "finir" une site/forum et j'aimerais introduire les dernier post du forum sur la page d'accueil, ne vous en faites pas je sais comment on fait.

En fait toutes les pages sont en utf-8, et avant que je fasse :

<?php include('forum_lastpost.php'); ?>

.. la page comprend bien les accents, etc.. Cependant dès que j'inclus cette page, toute la page passe en Iso, excepter cette include, forum_lastpost.php :

<?php
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
?>

        <table class="tablebg" cellspacing="1" width="100%">
<tbody>
        <tr>
                <th colspan="2"> Derniers Messages </th>
                <th> Auteurs </th>
        </tr>
<?php
define('IN_SITE', true);
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
$phpEx = substr(strrchr( __FILE__ , '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
// Sélection des 10 derniers posts
$sql = "SELECT t.topic_replies_real,t.topic_replies,t.topic_title,t.forum_id,t.topic_id,t.topic_type,t.topic_last_post_id,f.forum_name,t.topic_last_poster_name,t.topic_last_post_time
FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f
WHERE t.topic_approved = 1 
AND t.topic_status <> 2
AND t.forum_id = f.forum_id
ORDER BY t.topic_last_post_time DESC 
LIMIT 3";
$result = $db->sql_query($sql);
// Boucle d'affichage du post
while($topic_data = $db->sql_fetchrow($result)) 
{
    // Données du topic
    $topic_title = $topic_data'topic_title'];
    $topic_replies = $topic_data'topic_replies'];
    $topic_replies_real = $topic_data'topic_replies_real'];
    $forum_id = $topic_data'forum_id'];
    $topic_id = $topic_data'topic_id'];
    $forum_name = $topic_data'forum_name'];
    $topic_last_post_id = $topic_data'topic_last_post_id'];
    $topic_last_post_time = $topic_data'topic_last_post_time'];
    $topic_last_poster_name = $topic_data'topic_last_poster_name'];
       $replies = ($auth->acl_get('m_approve', $forum_id)) ? $topic_replies_real : $topic_replies; 
    $start = floor(($replies) / $config'posts_per_page']) * $config'posts_per_page']; 

    $post_url = append_sid("http://forum.race-end-velocity.com/viewtopic.$phpEx", 't=' . $topic_id . '&f=' . $forum_id . '&start=' . $start ) . '#p' . $topic_last_post_id; 
    $topic_url = append_sid("http://forum.race-end-velocity.com/viewtopic.$phpEx", 't=' . $topic_id . '&f=' . $forum_id ); 

echo '
            <tr>
            <td class="row1" width="50" align="center"><img src="./forum/styles/1Game/imageset/forum_unread.gif" width="27" height="27"></td>
            <td class="row1" width="100%">
                                <div><a class="forumlink" href="'.$topic_url.'">'.$topic_title.'</a></div>
                                                                <div>Catégorie : '.$forum_name.'</div>
                            </td>
            <td class="row2" align="center" nowrap="nowrap">
                                    <div class="topicdetails">'.strftime('%d/%m/%y ',$topic_last_post_time).' à '.strftime('%H:%M ',$topic_last_post_time).'</div>
                    <div class="topicdetails">'.$topic_last_poster_name.' <a href="'.$post_url.'"><img src="./forum/styles/1Game/imageset/icon_topic_latest.gif" width="18" height="9" alt="Voir le dernier message" title="Voir le dernier message"></a> </p>
                            </td>
        </tr>';
}
$db->sql_freeresult($result);
?>
</tbody>
    </table>
            </div>
            <div class="bottom"></div>

            <div class="top"></div>
            <div class="article">

Je voudrais donc comprendre ce qui, dans ce code, fait que la page se décode... :S

6 réponses


Ton fichier inclue est bien en UTF8 ?

Canonier
Auteur

Oui, lui aussi.
Je travail comme conseillé, qu'en UTF-8.

Et si dans ton forum_lastpost.php tu ne met aucun code ça casse quand meme l'encodage ?

Canonier
Auteur

Oui, si le forum_lastpost.php contient un simple texte par exemple, l'encodage reste impécable. Donc c'est vraiment le code qui fout le bazars!

et si tu fais un mysql_query('SET NAMES UTF8'); au tout début ?

Canonier
Auteur

déjà testé aussi :(
Je commence a désespérer un peu.. J'étais heureux de voir les dernier post s'afficher.

Je viens de me remémorer un détail:
Ma page index.php fait appel au templates.php ainsi qu'au contenue.

Lorsque que ce petit bout de code était dans le template.php, tout était nickel. et c'est depuis que je ne veux faire apparaitre ce bout de code sur ma page accueil.php que ce problème existe ..? Est ce que c'est une info utile ? ^^