Voici le résumé de mon code , un truc très classique


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if ($this->_request->isPost()) {
            $formdata = $this->_request->getPost ();
            if ($form->isValid($formdata)) {
// si les données sont valides , j'insère dans ma base de donnée
                $res = new mRessources();
                $res->nvRes($form->getValues());
 
 
            }else {
//sinon, je fais un form populate et j'alerte l'utilisateur
                $form->populate($formdata);
                $this->view->message = 'Veuillez vérifier vos données.';
            }
        }
Dans le cas où les données sont valides, elles sont insérées correctement dans la base, y compris les caractères accentués. C'est la preuve que les caractères sont bien interprétés par mon formulaire et qu'il n'y a pas de distortion lors de la communication entre l'application et la base et que l'UTF 8 est bien configuré au niveau d'apache et de postgresql.

Par contre, lorsque je fais $form->populate($formdata), c'est juste à ce niveau là que les cacatères acentués sont mal affichés.