par
VaN » 13 févr. 2009, 15:36
Bonjour,
Voici mon problème :
Sur une page, j'ai le lien suivant :
Code : Tout sélectionner
<a href="5-Qu est ce qu un prêts relais?.html">Qu est ce qu' un prêts relais?</a>
Il est en HTML, car je fais de l'URL Rewriting dessus.
Lorsque je clique dessus, le navigateur renvoie
The requested URL /dev/5-Qu est ce qu un prêts relais was not found on this server.
le charset du site est UTF-8 :
Code : Tout sélectionner
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Mais le champs de la table SQL dont est tiré le nom de la page est en
latin1_swedish_ci
Au final, je voudrais réussir à supprimer tous les caractères accentués du lien.
Pour le moment, j'en suis à là :
function stripAccents($string){
$pattern01 = array("/á/", "/à/", "/â/", "/ç/", "/é/", "/è/", "/ê/", "/î/", "/ï/", "/ô/", "/û/");
$pattern02 = array("/á/", "/a/", "/â/", "/ç/", "/é/", "/è/", "/ê/", "/î/", "/i/", "/ô/", "/û/");
$rep_pat = array("a", "a", "a", "c", "e", "e", "e", "i", "i", "o", "u");
$string = preg_replace($pattern01, $rep_pat, $string);
$string = preg_replace($pattern02, $rep_pat, $string);
return $string;
}
$page_rewritted['page_title'] = stripslashes($page['page_title']);
$page_rewritted['page_title'] = str_replace("'", "", $page_rewritted['page_title']);
$page_rewritted['page_title'] = stripAccents(htmlspecialchars($page_rewritted['page_title']));
$link = $page['page_id']."-".$page_rewritted['page_title'].".html";
echo '<a href="'.$link.'">'.stripslashes($page['page_title']).'</a><br />';
Je suis assez pressé par le temps, et j'aimerai très vite corriger ce problème, même si la solution adoptée n'est pas la plus propre/la meilleure.
Comment puis-je régler rapidement ce problème ?
Bonjour,
Voici mon problème :
Sur une page, j'ai le lien suivant :[code]<a href="5-Qu est ce qu un prêts relais?.html">Qu est ce qu' un prêts relais?</a>[/code]
Il est en HTML, car je fais de l'URL Rewriting dessus.
Lorsque je clique dessus, le navigateur renvoie
[quote]The requested URL /dev/5-Qu est ce qu un prêts relais was not found on this server.[/quote]
le charset du site est UTF-8 :
[code]<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />[/code]
Mais le champs de la table SQL dont est tiré le nom de la page est en [quote]latin1_swedish_ci[/quote]
Au final, je voudrais réussir à supprimer tous les caractères accentués du lien.
Pour le moment, j'en suis à là :[php]
function stripAccents($string){
$pattern01 = array("/á/", "/à/", "/â/", "/ç/", "/é/", "/è/", "/ê/", "/î/", "/ï/", "/ô/", "/û/");
$pattern02 = array("/á/", "/a/", "/â/", "/ç/", "/é/", "/è/", "/ê/", "/î/", "/i/", "/ô/", "/û/");
$rep_pat = array("a", "a", "a", "c", "e", "e", "e", "i", "i", "o", "u");
$string = preg_replace($pattern01, $rep_pat, $string);
$string = preg_replace($pattern02, $rep_pat, $string);
return $string;
}
$page_rewritted['page_title'] = stripslashes($page['page_title']);
$page_rewritted['page_title'] = str_replace("'", "", $page_rewritted['page_title']);
$page_rewritted['page_title'] = stripAccents(htmlspecialchars($page_rewritted['page_title']));
$link = $page['page_id']."-".$page_rewritted['page_title'].".html";
echo '<a href="'.$link.'">'.stripslashes($page['page_title']).'</a><br />';[/php]
Je suis assez pressé par le temps, et j'aimerai très vite corriger ce problème, même si la solution adoptée n'est pas la plus propre/la meilleure.
Comment puis-je régler rapidement ce problème ?