Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 03-03-2010 19:38:15

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

[Résolu] Probleme d'accents entre PHP (Zend) et JQuery

Bonjour,

Je me suis mis dans général car je n'ai pas trouvé autre part mettre ce post. Le soucis de ce sujet doit être principalement de l'ordre de PHP, mais comme ma prog est avec Zend, je me permets de poser la question ici.

J'ai un formulaire avec un champs input que je souhaiterais convertir en format url. Par exemple :

bibi est allé à la pèche => bibi-est-alle-a-la-peche

Au passage existe t-il un fonctionnalité de zend qui ferais ce travail mieux que moi ?

Pour cela je passe par JQuery avec la fonction suivante en faisant de l'ajax :

Code:

    $('#panel-tags input[type=submit]').click(function() {
        var tags = $('#panel-tags input[name=addtag]').val();
        
        $.ajax({
            url : '/ajax/tags/save/',
            type : 'get',
            data : {tags : tags},
            success : function(data) {
                
            }
        });
        
        return false;
    });

Ensuite je récupère les valeurs dans l'action save du controller tagsController :

Code:

class Ajax_TagsController extends Core_Controller_Action_Ajax {
    public function saveAction() {
        $array = array();
        $saveTags = array();
        
        if(!empty($this->_request->tags)) {
            $tags = explode(',', $this->_request->tags);
            $formatUrl = new Core_Filter_FormatUrl;
            $Mtags = new Core_Db_Models_Tags;
            $listTags = $Mtags->get();
            
            foreach($tags as $tag) {
                $tag = (string) trim($tag);
                foreach($listTags as $listTag) {
                    if($listTag->name != $tag) {
                        $tagObj = new stdClass;
                        $tagObj->name = $tag;
                        echo $tagObj->tag = $formatUrl->filter(utf8_decode($tag)); <-- ECHO pour le débug
                    }
                }
            }
        }

        //echo json_encode($array);
        $this->_helper->viewRenderer->setNoRender();
    }
}

Dans la classe Core_Controller_Action_Ajax, il y a juste ceci :

Code:

    public function init() {
        parent::init();
        if(!$this->_request->isXmlHttpRequest()) {
            $this->_redirect();
        }

        $this->_helper->getHelper('layout')->disableLayout();

    }

Bon après j'ai deux filter donc les fonctions principales sont, une pour supprimer les caractère spéciaux, qui fonction et une autre :

Code:

    public function filter($value) {
        $pieces = array('à'=>'a',
                        'á'=>'a',
                        'â'=>'a',
                                                -----
                        'ÿ'=>'y',
                        'ñ'=>'n',
                        'ç'=>'c');

        foreach($pieces as $accent => $noAccent) {
            $value = preg_replace('/' . $accent . '/', $noAccent, $value);
        }

        return $value;
    }

qui permet de supprimer les accents.

Le souci c'est que l'accent reste affiché. Avez vous une idée d'où cela pourrait provenir ?

Merci infiniment de votre aide.
Bien cordialement.

Dernière modification par nicko (04-03-2010 08:04:27)

Hors ligne

 

#2 03-03-2010 20:05:13

3uclide
Membre
Date d'inscription: 09-08-2008
Messages: 194

Re: [Résolu] Probleme d'accents entre PHP (Zend) et JQuery

Hors ligne

 

#3 03-03-2010 22:39:00

elkolonel
Administrateur
Lieu: Grasse
Date d'inscription: 18-12-2007
Messages: 299
Site web

Re: [Résolu] Probleme d'accents entre PHP (Zend) et JQuery

Hello,

Je pense que tu peux t'aider en te basant sur l'article suivant : http://www.ericmery.fr/blog/ecriture-du … ne-chaine/

L'avant dernière proposition marche également mais ne s'intègre pas directement dans les développements avec le Zend Framework.

A adapter éventuellement pour qu'il réponde parfaitement à tes besoins.

Cordialement,
Elkolonel

Hors ligne

 

#4 04-03-2010 08:04:05

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: [Résolu] Probleme d'accents entre PHP (Zend) et JQuery

Merci pour vos aides.

La méthode de 3uclide marche bien, je l'ai remplacé dans mon scripts filter. Mais j'ai tout de même gardé de coté.

On ne sait jamais wink

Bien cordialement.

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