Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-09-2007 14:25:50

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

[Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Bonjour à vous tous,

Mon problème est super con. Je veux mettre des accents dans mes URLs. J'ai vu que ça marchais puisque Wikipédia (entre autres) utilisent des urls avec des accents. De plus certains noms de domaines peuvent être acheter avec des accents. Enfin bref, j'en veux moi aussi !

Et donc je fais mes urls, avec mes accents. Et là merde ça marche pas avec le Zend Framework.
Quand je vais sur mon url : mon-site.com/portfolio/réalisation-créations-sites-web, j'obtiens un jolie message d'erreurs... :-(

Fatal error: Uncaught exception 'Zend_Controller_Action_Exception' with message 'PortfolioController::rc3a9alisationCrc3a9ationsSitesWebAction() does not exist and was not trapped in __call()
//... Je vous passe de la suite

Y'a t'il une option ou dois-je bidouiller le zf avant que ça ne soit gérer (puisque dans ce cas là, je vais aller gueuler sur les développeurs du zf, c'est inacceptable quoi ! big_smile ) ?

EDIT:
J'ai trouvé un technique bête de bourrin :
- je renomme mon action : rc3a9alisationCrc3a9ationsSitesWebAction()
- je renomme ma vue : r%C3%A9alisation-cr%C3%A9ations-sites-web.phtml

Mais bon faut avouer que c'est pas top, on sera tous d'accord.
Quelqu'un a mieux??

Dernière modification par Mr.MoOx (15-09-2007 13:20:57)

Hors ligne

 

#2 13-09-2007 18:05:55

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Sur wikipedia c'est encodé non ? 
Par exemple :

http://fr.wikipedia.org/wiki/Portail:%C3%89ducation


Je crois que c'est pas trop conseiller les accents ?
Quelqu'un en sait plus ?

Pour moi c'est un peu comme les noms de fichiers...car si l'encodage est pas partout pareil ça fou un peu le m***de :s.
Je peste quand je vois des noms de fichiers avec des espaces, des caractères spéciaux, etc... :s


Société : Direct Info Service

Hors ligne

 

#3 13-09-2007 18:16:44

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Ben perso quand je clique sur ton url, ça me redirige vers : http://fr.wikipedia.org/wiki/Portail:Éducation
Sur Opera et Firefox les liens de wikipédia avec accents ne sont pas encodé (on voit donc les accents).
IE6 fonctionne quand on tape les urls avec accents.

Après, c'est le serveur qui traite l'url demandé de manière encodé.

Dernière modification par Mr.MoOx (13-09-2007 18:20:08)

Hors ligne

 

#4 13-09-2007 18:59:12

poppy
Membre
Lieu: Toulouse
Date d'inscription: 07-08-2007
Messages: 92
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

php ne permet pas les accents (ci je me souvien bien)

le lien marche mais si tu regarde l'url afficher par le navigateur http://fr.wikipedia.org/wiki/Portail:%C3%89ducation et le mot apré le : son encodé puis transmit a la db donc c'est pas écrit en dur dans le php !!

puis google aime pas trop sa lol


Société : Audiofanzine
Config : iMac 27" @ 3,06 Ghz Intel Core 2 Duo, 4Go de Ram + écran 22"

Hors ligne

 

#5 13-09-2007 19:05:00

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

?!  Quand PHP recoit %C3%89ducation, il comprend bien l'accent. Si en effet tu tape l'url que tu as mis toi, l'accent est encodé mais si tu regarde juste plus haut (la même url mais avec l'accent non encodé) le lien marche très bien.

Et d'où Google aime pas ça? C'est juste que quand tu fais une recherche, il zappe les accents mais il trouvera les résultats avec ou sans accent...

Hors ligne

 

#6 13-09-2007 19:06:24

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

regarde du coté de (raw)url(en|de)code ca devrait faire l'affaire.
après à voir si tu peux Z-F gère ca au niveau du dispatcher sinon tu passes à la fonction inverse ton module/controller/action.

perso, j'utilise ca au niveau des params transmis par URL pas au niveau des fichiers utilisés

Hors ligne

 

#7 14-09-2007 10:19:05

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Le problème, c'est que je peux pas mettre ça ou je veux. J'compte pas aller bidouillé dans le code du zf lors du formatage de l'url pour la camelizé. J'aurais pensé que il y aurait une suppression des accents pendant ce processus. Mais je crois que je peux me brosser.

Peut être que je vais virer mes url à accents... mais ça me rend triste...

Hors ligne

 

#8 14-09-2007 14:07:57

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Rien n'empeche avant le dispatcheur, de faire:
$controller = rawurldecode($this->_request->getParam('controller'));
$module = rawurldecode($this->_request->getParam('module'));
$action = rawurldecode($this->_request->getParam('action'));
et de passer $controller, $module et $action au dispatcher.

j'ai pas regarder en avant, mais je crois que tu peux faire des opérations avant le dispatch donc ca doit être jouable sans retoucher le Core

Regarde du coté des Plugins du front controller (dispatchLoopStart ou preDispatch)
enfin, je dis ca, je dis rien tongue

Hors ligne

 

#9 14-09-2007 14:46:51

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Bah le problème de faire ça, c'est qu'il me suffit pas de faire urldecode()... car je souhaiterais en fait filtrer les accents pour qu'ils disparaissent. Je pense pas que je peux appeler mon controller héhéController() (puis de toute façon j'ai pas envie c'est pas beau les variables avec accents)...

D'ailleurs, à propos des filtres, existe t-il déjà un filtre pour urlizé (si vous voyer ce que j'veux dire) dans le zf??

Car quand je genère des liens à partir de contenu (comme une news ou un article..) je génère un lien à partir du titre, et j'aimerais pouvoir avoir un formatage automatique.
Ex:
- titre de ma page : "Le Super titre qui déchire un peu"
-> après formatage : "le-super-titre-qui-dechire-un-peu" ou "super-titre-dechire" (ça ce serait le luxe)

Dernière modification par Mr.MoOx (14-09-2007 14:48:34)

Hors ligne

 

#10 15-09-2007 09:32:54

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

lire http://www.w3.org/Addressing/URL/url-spec.txt

attention tout de même tous les caractères ne sont pas autorisés
seuls les caractère 0-9 a-z A-Z et /- _ le sont tous les autres doivent être encodée sous la forme %0f ou le nombre est le codes hex du caractère dans la table ASCII donc beaucoup de caractères que nous avons dans l'ISO-latin-1 n'y sont pas

A+JYT
PS: pas d'accents c'est le mieux

Hors ligne

 

#11 15-09-2007 13:19:58

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Bon au moins, c'est clair.

Par contre à propos d'un formateur d'url, je crois avoir trouvé un truc sympa sur le manuel php (urlize() smile ):
http://www.php.net/manual/fr/function.u … .php#61120

Bon alors jvais me débrouillé avec tout ça. Pas d'accents pour mes urls... tant pis...

Hors ligne

 

#12 21-05-2008 00:20:09

neojick
Membre
Date d'inscription: 13-04-2008
Messages: 223
Site web

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Je relance un peu le sujet. Depuis la fin de la discussion, quelque chose de bien a été intégré à ZF pour urlizer ?


Chan IRC de ZF en français : zftalk-fr

Hors ligne

 

#13 21-05-2008 10:02:15

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Résolu...] [1.0.1] Et les Accents dans les urls, on fait comment?

Php ne sait pas travailler avec l'utf-8. Lorsqu'il va travaillé sur la chaine "été" par exemple, les é perdent tout leur sens et le mot "été" devient "c3a9tc3a9" (qui n'a rien à voir avec la version avec entité HTML %E9t%E9)

Le serveur web Apache sait travaillé sur l'utf8 et donc, les chaines sont correctes lorqu'elles sont transmises au moteur php

A mon avis, la solution est de placé des utf8_decode la ou il faut

La norme d'adressage url n'autorise pas les caratères spéciaux, et le navigateur convertit automatiquement les caractères. (certains joue la transparence en laissant affiché les caractères décodé dans l'url, d'autres comme firefox non et affiche l'url encodé)

Dernière modification par nORKy (21-05-2008 10:05:48)


----
Gruiiik !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages