Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 31-01-2013 18:17:59

Shimrra
Membre
Date d'inscription: 05-10-2012
Messages: 19

[Zend_Db_Table_Abstract] Soucis lors du save() avec accents

Bonjour,

Je viens de tomber sur un soucis qui me laisse sur le c** ...

(je suis sous MySQL)

J'exécute ce code dans un de mes models

Code:

 [lang=php]
// on ajoute une ligne en bdd
$new_action = $this->createRow();
$new_action->id_maintenance = $id_maintenance;
$new_action->action = $action;
$new_action->description = $description;
$new_action->etat = 0;
return $new_action->save();

Et pour une raison qui m'échappe si je mets un accent dans $action ou $description, la chaine enregistrée en BDD se stoppe juste avant l'accent... J'ai testé, juste avant le return $new_action->save(); de vérifier qu'il a bien un accent pour la variable $new_action->description et oui ...

Je suis donc allé sur phpmyadmin et j'ai entré une ligne à la main avec des accents à gogo et aucun soucis ... Je suis donc sans voix... je comprends pas pourquoi au moment du save() il décide d’arrêter la chaîne au premier accent rencontré.

Si quelqu'un a une idée je suis preneur. Le projet est à rendre demain et ce n'est pas gênant mais j'aimerai bien comprendre d'où vient ce bug.

Hors ligne

 

#2 05-02-2013 15:05:04

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

Est-ce que tu précises bien l'encodage utilisé lors du transport ?

Hors ligne

 

#3 05-02-2013 18:08:18

Shimrra
Membre
Date d'inscription: 05-10-2012
Messages: 19

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

je précise que la connexion à la base de données est en UTF-8 dans le fichier de config :
resources.db.params.charset     = "utf8"

La bdd et les tables sont en utf8_unicode_ci. Les autres codes/tables n'ont aucun soucis.

Hors ligne

 

#4 05-02-2013 21:19:33

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

ça ressemble quand même à un problème d'encodage...
et tes fichiers php ils sont encodés comment ?

Hors ligne

 

#5 06-02-2013 19:35:25

Shimrra
Membre
Date d'inscription: 05-10-2012
Messages: 19

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

UTF-8 d'après la commande : chardet et j'ai utilisé le même IDE avec tous mes fichiers et il n'y a que celui-ci qui fait ça.

Hors ligne

 

#6 07-02-2013 13:03:59

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

Donc avant d'aller plus loin dans le raisonnement je veux que tu me confirmes que :
Tout est bien en UTF8
- Ton éditeur de fichiers
- le projet
- les fichiers
- la base de données
- la table
- le champ incriminé
- la communication avec la base de données

Si tout est confirmé on ira chercher autre part mais d'expérience c'est un problème d'encodage

Hors ligne

 

#7 07-02-2013 22:05:43

Shimrra
Membre
Date d'inscription: 05-10-2012
Messages: 19

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

- Ton éditeur de fichiers : Oui
- le projet : Comment vérifier ? Y a quelque chose à préciser dans le fichier de config ?
- les fichiers : Oui
- la base de données : utf8_unicode_ci
- la table : utf8_unicode_ci
- le champ incriminé : il y a 2 champs, tous les deux en : utf8_unicode_ci
- la communication avec la base de données : UTF-8 précisé dans le fichier de config pour zend.

Hors ligne

 

#8 12-02-2013 11:56:56

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

dans ce cas,
vérifie que tu as dans tes fichiers HTML cette meta donnée
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

et enventuellement que tu n'utilises pas les fonctions utf8_decode et utf8_encode qui peuvent poser problème quand tu es déjà full utf8

Hors ligne

 

#9 12-02-2013 19:12:29

Shimrra
Membre
Date d'inscription: 05-10-2012
Messages: 19

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

je n'ai pas de balise meta n'y rien. Ce code sert à une API android du coup je retourne juste un tableau en json avec des données. Et le soucis a lieu dans la bdd et non pas à l'affichage. et je n'utilise n'y utf8_encode ou utf8_decode. Je rappel qu'au moment de l'insertion des données en bdd donc au moment de $new_action->save(); la valeur de $new_action->description = $description; a encore les accents qu'il faut.

Hors ligne

 

#10 13-02-2013 12:00:47

Juch
Membre
Lieu: Paris 17e
Date d'inscription: 29-04-2009
Messages: 48

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

oui d'accord donc les données que tu insère en bdd, elles proviennent d'ou ?

Hors ligne

 

#11 13-02-2013 21:15:47

Shimrra
Membre
Date d'inscription: 05-10-2012
Messages: 19

Re: [Zend_Db_Table_Abstract] Soucis lors du save() avec accents

De la requete en POST. ($this->getRequest()->getPost()wink

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