glibre Posté 2 Janvier 2006 Posté 2 Janvier 2006 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 je rame a fond la merci a vous
bigornot Posté 2 Janvier 2006 Posté 2 Janvier 2006 Pour tout ce qui est accents hors de l'url, utilise les é, &eagrave, ê ... Par contre je sèche pour les URL ...
glibre Posté 2 Janvier 2006 Auteur Posté 2 Janvier 2006 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?
Anonymus Posté 2 Janvier 2006 Posté 2 Janvier 2006 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.
glibre Posté 18 Janvier 2006 Auteur Posté 18 Janvier 2006 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 merci
glibre Posté 18 Janvier 2006 Auteur Posté 18 Janvier 2006 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}>
Anonymus Posté 20 Janvier 2006 Posté 20 Janvier 2006 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' 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant