Aller au contenu

help: galere avec accent


glibre

Sujets conseillés

bonjour,

j'arrive pas a trouver la solution pour des problemes d"accents dans deux cas...

- cas 1:

dans un div j'ai: é à la place du é

lorsque c'est affiché depuis un script php ( tout est ok si je mets en dur en html)

- cas 2:

je veux faire des urls genre /metiers-evaluation-des-besoins

et donc retirer les accents.

voici la fction que j'utilise inspiré de ce que j'ai trouvé ici ou la:

function modifurl($str)

{

$str = strtr($str, "é", "e");

$str = preg_replace('/[^a-z0-9_-\s]/', '', strtolower($str));

$res = str_replace(' ', '-', $str);

return $res;

}

ca marche bien sur du text, mais pas sur mes urls...

il me retire la lettre, sans la remplacer :huh:

je rame a fond la :blush:

merci a vous

Lien vers le commentaire
Partager sur d’autres sites

et oui... mais c'ets justement sur les urls que je bloque aussi :@

pourtant, y a bien des posts sur le sujet, mais y a rien a faire, ca marche pas pour moi !

y a t il un rapport avec le fait que ce soit des données depuis une base mysql?

Lien vers le commentaire
Partager sur d’autres sites

Il me semble qu'un membre du Hub avait posté une fonction : http://www.webmaster-hub.com/index.php?sho...findpost&p=3572 ;)

Par contre, tu enleveras les accents, ce qui n'est pas pareil que les 'coder', chose que tu feras avec la fonction urlencode, puis urldecode. ;)

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines plus tard...

milles excuses, la reponse a ete donnée.

Pour tout ce qui est accents hors de l'url, utilise les é, &eagrave, ê ...

Par contre je sèche pour les URL ...

<{POST_SNAPBACK}>

:blush:

Lien vers le commentaire
Partager sur d’autres sites

et oui... mais c'ets justement sur les urls que je bloque aussi :@

pourtant, y a bien des posts sur le sujet, mais y a rien a faire, ca marche pas pour moi !

y a t il un rapport avec le fait que ce soit des données depuis une base mysql?

<{POST_SNAPBACK}>

Les é sont caractéristiques de l'utf8.

Tu as des données stockées en utf8 dans la base de données, et tu essaies de les afficher en iso8859-1.

Il y a plusieurs solutions, pour remédier à cela.

La plus simple consiste à passer les chaines de caractère qui présentent ce problème par la fonction 'utf8_decode'.

Tu aurais aussi pu envoyer le bon header. En gros :

header('Content-type: text/html; charset=UTF-8');

Mais cela supposerait que toute ta page soit en utf8. Notes bien que les parties en iso8859-1 auraient pu être passées dans la moulinette du 'utf8_encode' :D

Sinon, s'il te reste un peu de temps, jettes un oeil aux fonctions htmlspecialchars,

et htmlentities, qui permettent, à partir d'une chaine de caractères avec accents, d'afficher les entités html correspondantes.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...