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.
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.
Modifié par Dearth (10 Nov 2010 - 13:50)