Aller au contenu

help: galere avec accent


Sujets conseillés

Posté

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

Posté

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?

  • 3 semaines plus tard...
Posté

re--

j'ai reussit a contourner le probleme pour les URLs...

mais je galere toujours pour les accents meme dans les scripts

j'ai toujours des é à la place des é par exemple...

Voyez vous meme:

http://www.action-sud.fr/contact.html

je trouve rien a ce sujet sur le net :boude:

merci

Posté

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:

Posté
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.

Veuillez vous connecter pour commenter

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



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