Bonjour à vous.
Voilà j'ai un problème avec mon encodage UTF-8 dans une url, enfaite ça donne ça :
index.php
mon header.php
et avec ça je fais dans une page une recherche ( donc en get ) et lorsque je tape dans la barre de recherche "Caractéristique"
il m'affiche donc :
et sur la page d'arrivé il doit m'afficher (?q=)
donc :
Recherche.php ( controleur )
Recherche.php ( Vue )
Mais le problème c'est que $query m'affiche Caractéristiques .
j'ai beau mettre utf8_encode ou encore htmlentities() ou htmlspecialchars() je ne vois pas de solutions.
par contre pour la DB j'ai bien fais SET NAMES UTF-8 donc il m'affiche bien les accents venant de la DB.
Voilà si vous pouviez m'aider je vous remercie d'avance.
  je vous remercie d'avance. 
Modifié par Dearth (10 Nov 2010 - 13:50)
      
      
    Voilà j'ai un problème avec mon encodage UTF-8 dans une url, enfaite ça donne ça :
index.php
<?php
session_start();
header('Content-Type: text/html; charset=UTF-8');
// .... ect
?>
mon header.php
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <meta name="keywords" content="Wiki, jeu, jeux.." />
        <meta name="description" content="Wiki" />
        <meta name="robots" content="index,follow" />
        <title><?php echo $aSite["head"]["titre"]; ?></title>
        <link rel="stylesheet" href="<?php echo $aSite["lien"].$aSite["head"]["css_url"]["basic_style"];?>" type="text/css" />
        <?php
          foreach($aSite["head"]["js_url"] as $val)
          {
           echo '<script type="text/javascript" language="javascript" src="'.$val.'"></script> ';
          }
          ?>
    </head>
    <body>
        <div id="wrapper">
et avec ça je fais dans une page une recherche ( donc en get ) et lorsque je tape dans la barre de recherche "Caractéristique"
il m'affiche donc :
a écrit :
search?q=Caractéristiques
et sur la page d'arrivé il doit m'afficher (?q=)
donc :
Recherche.php ( controleur )
<?php
  if( isset( $_GET["q"] ) && ( $_GET["q"] != NULL ) )
  {
    $query = stripslashes(htmlentities($_GET["q"], ENT_QUOTES));
    echo $query;
      include(MOD.'recherche.php');
           $aSearchResult = $adWiki->Search($query);
           $TotalResult = count($aSearchResult);
      include(VUES.'recherche.php');
  }
  else
  {
     echo '<div id="erreur">Recherche inconnue, redirigez vous vers <a href="/home">l\'index</a></div>';
  }
?>
Recherche.php ( Vue )
<div align="center">
 <?php
 if($TotalResult > 0)
 {
  if($TotalResult == 1)
  {
   echo  'La Recherche a donnée : <b>'.$TotalResult.'</b> résultat';
  }
  else
  {
   echo  'La Recherche a donnée : <b>'.$TotalResult.'</b> résultats';
  }
   echo  ',faire une autre recherche ? <a href="./home" style="text-decoration:underline;">oui</a>
          <br /> <b>Un problème avec la recherche ? contactez le staff ou allez voir la faq.</b><br /><br />
          <table cellpadding="0" border="0" cellspacing="0" style="width:100%" id="tableau_wikiad">
            <thead>
               <tr class="masthead">
                   <th class="header" style="width:225px;"><a>Titre</a></th>
                   <th class="header" style="width:150px"><a>Par</a></th>
                   <th class="header" style="width:150px"><a>Type</a></th>
                   <th class="header" style="width:100px"><a>Vu</a></th>
                   <th class="header" style="width:170px"><a>Date</a></th>
                </tr>
            </thead>
            <tbody>';
      for($i = 1; $i <= $TotalResult; $i++)
      {
       $Titre = str_replace(' ', '_', $aSearchResult[$i]["titre"]);
       if($i % 2 && $i != $TotalResult)
       {
         echo '<tr class="conteneur_fonce">';
       }
       else
       {
         echo '<tr class="conteneur_clair">';
       }
       echo'
                <td> <a href="./wiki/'.$Titre.'" style="color:#5D1F88;">'.$aSearchResult[$i]["titre"].'</a></td>
                <td> '.$aSearchResult[$i]["auteur"].'</td>
                <td> '.$adWiki->TypeModif($aSearchResult[$i]["type"]).'</td>
                <td> '.$aSearchResult[$i]["vu"].'</td>
                <td> '.$aSearchResult[$i]["date"].'</td>
               </tr>
            ';
      }
   echo '</tbody></table>';
 }
 else
 {
     echo "<b>'".$query."' n'a pas été trouvé.</b> <div id='erreur'>Veuillez vérifier l’orthographe de votre mot-clé ou affinez vos critères de recherche. Le moteur de recherche est actuellement au stade de beta et est en cours de révision. Veuillez nous excuser pour ce désagrément. </div>";
 }
      ?>
</div>
Mais le problème c'est que $query m'affiche Caractéristiques .
j'ai beau mettre utf8_encode ou encore htmlentities() ou htmlspecialchars() je ne vois pas de solutions.
par contre pour la DB j'ai bien fais SET NAMES UTF-8 donc il m'affiche bien les accents venant de la DB.
Voilà si vous pouviez m'aider
 je vous remercie d'avance.
  je vous remercie d'avance. Modifié par Dearth (10 Nov 2010 - 13:50)
