probleme d'accent dans url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme d'accent dans url

par micetf » 07 juin 2009, 22:56

Peut-être qu'en vérifiant que :
- ton éditeur de code utilise bien l'encodage utf-8
- le charset utf-8 est indiqué dans les entêtes de toutes tes pages

Code : Tout sélectionner

<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
Alors tu n'auras plus à gérer ce problème é=>%C3%A9.

Sinon, il faut creuser du côté des fonctions utf8_encode(), utf8_decode().

Fred

par Aureusms » 07 juin 2009, 22:02

Et si tu utilisais str_replace () (je te montre les trois premiers):
$a_remplacer = array ('à', 'á', 'â');

$remplace = array ('Qc3Qa0', 'Qc3Qa1', 'Qc3Qa2');

$chaine = str_replace ($a_remplacer,$remplace,$chaine);
de cette façon si la chaine "à" est trouvée il le remplacera par la chaine "Qc3Qa0".

probleme d'accent dans url

par Invité » 07 juin 2009, 18:48

Bonjour,

J'ai une variable que je récupère via un $_GET['q'] hors lorsque cette variable contient des accent je convertit les accent pour pouvoir utiliser la variable selon mon script.

Jusqua la tout va bien.

Le probleme c'est que parfois l'url tranforme les accent par exemple le é par %C3%A9 mais la incapable de convertir les accent ma variable m'affcihe toujours le é !!

Voici mon code :
$remplace = array('à'=>'Qc3Qa0', 
                         'á'=>'Qc3Qa1', 
                         'â'=>'Qc3Qa2', 
                         'ã'=>'Qc3Qa3', 
                         'ä'=>'Qc3Qa4', 
                         'å'=>'Qc3Qa5', 
                         'ò'=>'Qc3Qb2', 
                         'ó'=>'Qc3Qb3', 
                         'ô'=>'Qc3Qb4', 
                         'õ'=>'Qc3Qb5', 
                         'ö'=>'Qc3Qb6', 
                         'è'=>'Qc3Qa8', 
                         'é'=>'Qc3Qa9',
	         '%C3%A9'=>'Qc3Qa9',
                         'ê'=>'Qc3Qaa', 
                         'ë'=>'Qc3Qab', 
                         'ì'=>'Qc3Qac', 
                         'í'=>'Qc3Qad', 
                         'î'=>'Qc3Qae', 
                         'ï'=>'Qc3Qaf', 
                         'ù'=>'Qc3Qb9', 
                         'ú'=>'Qc3Qba', 
                         'û'=>'Qc3Qbb', 
                         'ü'=>'Qc3Qbc', 
                         'ÿ'=>'Qc3Qbf', 
                         'ñ'=>'Qc3Qb1', 
                         'ç'=>'Qc3Qa7', 
                         'ø'=>'Qc3Qb8' 
                         ); 
 $query2 = strtr($query2,$remplace); 

Comment faire pour convertit ici par exmple mon é en Qc3Qa9

PS. j'ai déjà essayer urdecode et rawurldecode sans succès.

MERCI !