Soucis accent

Répondre
ooopsss
le 28/01/2009 à 18:08
ooopsss
J'ai un soucis d'eccent sur le site :
http://www.cfb-team.com/test
En changeant de occident à utf-8 sous firefox le soucis se deplace du block dernier post au site :-(

Voici le code de mon script php

<?php  
$lan_file = e_PLUGIN."e107bb/languages/".e_LANGUAGE.".php";
require_once(file_exists($lan_file) ? $lan_file : e_PLUGIN."e107bb/languages/English.php");

$gen = new convert;

$text = "";

if(defined("PHPBB_PREFIX")) {
$text .="<div style=\"text-align: center;\">
<table style=\"width: auto;\" class=\"fborder\">
<tbody><tr>
<td style=\"width: 5%;\" class=\"forumheader\">&nbsp;</td>
<td style=\"width: 45%;\" class=\"forumheader\">Sujets</td>
<td style=\"width: 15%; text-align: center;\" class=\"forumheader\">Auteur</td>
<td style=\"width: 5%; text-align: center;\" class=\"forumheader\">Vues</td>
<td style=\"width: 5%; text-align: center;\" class=\"forumheader\">Réponses</td>
<td style=\"width: 25%; text-align: center;\" class=\"forumheader\">Date</td>
</tr>";

$lastsql="SELECT * FROM `".PHPBB_PREFIX."topics` ORDER BY `topic_last_post_time` DESC LIMIT 0, 5";
$lastsql2=mysql_query($lastsql) or die("could not select posts".mysql_error());
while($lastsql3=mysql_fetch_array($lastsql2)) {

$usersql="SELECT username FROM `".PHPBB_PREFIX."users` WHERE user_id='".$lastsql3['topic_poster']."' LIMIT 0, 1";
$usersql2=mysql_query($usersql) or die("could not select users");
$usersql3=mysql_fetch_array($usersql2);

$forumsql="SELECT forum_name FROM `".PHPBB_PREFIX."forums` WHERE forum_id='".$lastsql3['forum_id']."' LIMIT 0, 1";
$forumsql2=mysql_query($forumsql) or die("could not select users");
$forumsql3=mysql_fetch_array($forumsql2);

//From newforumposts_menu.php
$datestamp = $gen->convert_date($lastsql3['topic_last_post_time'], "forum");


// $text .= "<img src='".THEME."images/".(defined("BULLET") ? BULLET : "bullet2.gif")."' alt='' /> <a href='".PHPBB_PATH."viewtopic.php?p=".$lastsql3['post_id']."'>Post: ".$lastsql3['post_subject']."</a><
br /> Posted by ".$usersql3[ 'username']."<br />".$datestamp."<br />";

$text .= '
<tr>
<td style="width: 5%; text-align: center;" class="forumheader3"><img src="e107_plugins/forum/images/lite/new_small.png" alt=""></td>
<td style="width: 45%;" class="forumheader3"><b><a href="'.PHPBB_PATH.'viewtopic.php?f='.$lastsql3['forum_id'].'&t='.$lastsql3['topic_id'].'">'.$lastsql3[ 'topic_title'].'</a></b> <span class="smalltex
t">(<a href="'.PHPBB_PATH.'viewforum.php?f='.$lastsql3['forum_id'].'">'.$forumsql3[ 'forum_name'].'</a>)</span></td>
<td style="width: 15%; text-align: center;" class="forumheader3"><a href="'.PHPBB_PATH.'memberlist.php?mode=viewprofile&u='.$lastsql3['topic_poster'].'">'.$usersql3[ 'username'].'</a></td>
<td style="width: 5%; text-align: center;" class="forumheader3">'.$lastsql3[ 'topic_views'].'</td>
<td style="width: 5%; text-align: center;" class="forumheader3">'.$lastsql3[ 'topic_replies'].'</td>
<td style="width: 25%; text-align: center;" class="forumheader3"><a href="'.PHPBB_PATH.'memberlist.php?mode=viewprofile&u='.$lastsql3['topic_last_poster_id'].'">'.$lastsql3[ 'topic_last_poster_name'].'
</a><br/>'.$datestamp.'</td>
</tr>
';

}

$text .="
</tbody></table>
</div>";
/* And the menu creation part */
$caption = "Derniers Messages Du Forum";
$ns -> tablerender($caption, $text);

}
?>


Avez vous une idée pour corriger cela ??
Merci a vous
LA GLOBULE
le 28/01/2009 à 18:35
LA GLOBULE
Alors, apparemment, ton site est en UTF-8.
Tu balances bien un header indiquant que ton document HTML est en UTF-8.
Par contre, a priori, tes données en base sont en ISO-8859-1 (en effet, en forcant le charset ISO-8859-1 sur firefox, ton titre de sujet sur le forum est ok, mais pas les autres accents de la page).

Tu peux fixer le problème de deux manières :
1) décider d'utiliser UTF-8 : dans ce cas, tu dois convertir les données de ta base de données en UTF-8
2) décider d'utiliser ISO-8859-1 : dans ce cas, tu dois convertir tes .php en ISO-8859-1 et balancer un header indiquant que ton site est en ISO-8859-1
LA GLOBULE
le 28/01/2009 à 18:38
LA GLOBULE
Humm, rectification.

En cliquant sur le sujet à problème, on arrive sur le forum, et les accents sont bon et la page est en UTF-8. Donc cela voudrait dire que les données de la base sont en UTF-8.

Donc sur ta page de test, au moment ou tu récupères les dernièrs sujets, ne ferais tu pas un utf8_encode (ou utf8_decode) ou une merde du genre ?
As tu aussi vérifié que, juste après la connexion MySQL, tu faisais bien un SET CHARACTER SET utf8 ?
ooopsss
le 28/01/2009 à 18:39
ooopsss
merci pour ta reponse en effet mon site est en utf-8.
Le forum est phpbb si tu connait, lors de l'instaation la base est en utf-8 vu que toute facon iso-8859-1 est po reconnu dans notre base.

Pitet forcer l'encodage, mais comment fait tu pour ta solution 1 ? smiley
ooopsss
le 28/01/2009 à 18:40
ooopsss
mmm a quel niveau se fait cette connection ?smiley

je suis pas super doué de ce coter a smiley
LA GLOBULE
le 28/01/2009 à 18:44
LA GLOBULE
As tu le code qui fait la connexion SQL (sans les mots de passe) ? Elle se fait où ?
ooopsss
le 28/01/2009 à 18:48
ooopsss
tres bonne question :(

si tu veu je peux te donner mon msn que tu m'aide a trouver ce fichier de connection, je voit pas du tout ou il peux etre.

J'utilise ce module bien complet qui permet l'authentifaction entre le e107 et phpbb et qui affiche ce boque. Je supose qu'il est dedans, mais ou smiley

http://plugins.e107.org/e107_plugins/psilo/psilo.php?artifact.402
ooopsss
le 28/01/2009 à 19:01
ooopsss
<?php
// phpBB 3.0.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'mysql';
$dbhost = 'localhost';
$dbport = '';
$dbname = 'titi';
$dbuser = 'titi';
$dbpasswd = 'titi';
$table_prefix = 'phpbb_';
$acm_type = 'file';
$load_extensions = '';

@define('PHPBB_INSTALLED', true);
// @define('DEBUG', true);
// @define('DEBUG_EXTRA', true);
?>


est que cela est le bon fichier ?
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours