Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-02-2008 17:17:41

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

[Résolu] Zend_From et bug filtre StringToLower

Salut à tous, je continue d'apprendre Zend_Form et je rencontre  un nouveau soucis.
Lorsque je valide mon formulaire avec un champs qui contient des accents, j'obtiens des résultats bizarres à cause des accents:

Code:

Nickname
 ____________
|jos�        |
 -------------
    'josé' is less than 6 characters long
...

Alors je valide et comme vous pouvez le voir, j'ai ma valeur dans le champs qui est foutu et par contre dans le message d'erreur, il est bien...
Un idée ou ai-je découvert un bug?

PS: Tout mon site et mes fichiers sont en utf-8...

EDIT: je fais que changer le nom du post car le bug est ciblé petit à petit smile

Dernière modification par Mr.MoOx (21-02-2008 09:37:34)

Hors ligne

 

#2 10-02-2008 17:23:07

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

Re: [Résolu] Zend_From et bug filtre StringToLower

ça ressemble gros à un problème de charset ça
quel est le charset utilisé dan sle html celui dnas les massage d'erreurs et celui utilisé dans le source ??
A+JYT

Hors ligne

 

#3 10-02-2008 18:21:59

ALkyD
Membre
Lieu: Limoges
Date d'inscription: 11-07-2007
Messages: 69
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

Code:

PS: Tout mon site et mes fichiers sont en utf-8...

Il se peut que ça ne soit l'une des raisons de ton problème...
J'ai rencontré que des problèmes d'accents avec l'UTF-8, si bien que j'utilise désormais ISO-8859-1 partout, et ça passe niquel.smile

Hors ligne

 

#4 10-02-2008 20:33:09

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Code:

PHP: 
header("Content-type: text/html; charset=UTF-8");

HTML:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

(Ma base est en utf8 mais bon aucun rapport)

Après j'ai essayé de mettre $view->setEncoding('utf-8'); en plus, mais la value 'jos�' de l'input disparait carrément...
Ce qui est bien étrange, c'est que tout ces sorties sont géré par le rendu Zend_Form... si à la limite y'avait le � partout... mais bon c'est pas le cas...

J'utilise Wamp comme plateforme (donc serveur apache). J'ai rien vu concernant le charset dans httpd.ini et j'ai mis ça dans le php.ini (bien que ça reviennent au header()...)
; PHP's built-in default is text/html
default_mimetype = "text/html"
default_charset = "utf-8"

Là je pige vraiment pas...

Il se peut que ça ne soit l'une des raisons de ton problème...

Ca fait 1 ans et demi que je fais tout mes sites avec son aucun problème... donc je ne penses pas smile

Puis en iso, les caractères exotiques et asiatiques ne passent pas wink

Hors ligne

 

#5 11-02-2008 17:56:33

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

As tu essayer de ressortir avec un htmlentities ?


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#6 11-02-2008 18:05:42

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Je n'ai aucun controle sur quoi que ce soit vu que tout passe par Zend_Form... qui d'ailleurs fait bien de la merde à mon gout vu qu'il me sort avec et sans bug.... Je debuggerai ça ce soir car là je pige vraiment pas...

Hors ligne

 

#7 12-02-2008 00:22:44

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Résolu] Zend_From et bug filtre StringToLower

Moox> Met à jour ta copie de travail par subversion.
Zend_Form est modifié environ 3 fois par jour, et des bugs sont souvent corrigés ^^

Hors ligne

 

#8 12-02-2008 07:16:27

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

Julien a écrit:

Moox> Met à jour ta copie de travail par subversion.
Zend_Form est modifié environ 3 fois par jour, et des bugs sont souvent corrigés ^^

Desole subversion c'est quoi car moi j'ai un bug avec Zend_Form dc je peux la prendre ou la mise a jour ?

MErci


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#9 12-02-2008 09:19:28

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Hors ligne

 

#10 14-02-2008 23:39:58

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Alors là j'écris ce message légèrement bourré (saint valentin, champagne etc...) et j'ai mis le nightly build de cette nuit et ça marche toujours pô...
J'en ai marre... sad
Ca me trou vraiment le cul (pardonné moi l'expression) que ça marche qu'à moitié... Je crois que je vais finir par pleuré

Hors ligne

 

#11 17-02-2008 14:55:42

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Bon après un gros pétage de cable à trimé à debugger... Le problème ne vient pas du tout de Zend_Form, mais de Zend_View (pas très étonnant certes)

C'est l'appel à Zend_View::escape() qui me fait tout foiré.
Si ma vue à un encodage en ISO (bien que tout le reste soit en UTF-8, j'ai le problème ci dessus avec le vieux caractère bizarre.
Mais si je dis bien à ma vue UTF-8, ben la valeur disparait comme je l'ai dis. Et elle disparait à cause de escape qui retourne un valeur vide... :

http://files.moox.fr/img/screenshots/dev/zend-framework-bug-escape.jpg

Alors bon j'me suis dis que mon serveur était foireur (Wamp) et donc j'ai voulu reproduire les mêmes circonstances sur une page bidon que voici

Code:

$var = 'josã©';
$escape = 'htmlspecialchars';
$encoding = 'UTF-8';
header("Content-type: text/html; charset=UTF-8");
$res = call_user_func($escape, $var, ENT_COMPAT, $encoding);
var_dump($res);

Et bien sur là tout est correcte j'obtiens bien josé. Donc je suis en train de pété un cable je pige rien ça me bloque c'est vraiment trop relou j'ai pas l'habitutde de dire ça, mais filez moi une piste sur les raisons de cette bizarrerie... sad

PS: pour la valeur 'josã©' c'est normal qu'elle soit comme, c'est le navigateur qui envoi ça (testé sous ff et opera) et c'est un comportement normal, mais bon le problème viens pas de la, sinon j'obitendrais la valeur vizarre et pas un champs vide!!!

Hors ligne

 

#12 17-02-2008 15:50:58

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Donc après quelques tests suplémentaires, j'en conclu que Zend_Form envoi des valeurs différrentes à Zend_View que les valeurs d'origines (entre la valeur que je débug dans le formText() et mon $_GET['name'], je n'ai pas le même encodage...
Ca m'avance pas trop mais bon...

Hors ligne

 

#13 18-02-2008 09:44:49

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Nom de dieu mais quelqu'un peu juste me dire "Moi avec les accents ça marchent très bien." ???
Ou pas?

J'vous jure je désespère...

Hors ligne

 

#14 18-02-2008 20:55:59

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

Moi avec les accents ça marchent très bien.
mais quand je fait du procédurale wink vala c'est dit

Sinon avec ZF j'ai essayé mais j'ai le même soucis que toi, càd accent foireux et disparition. Demain je retente.

a++

Dernière modification par Roulio (18-02-2008 20:57:38)

Hors ligne

 

#15 19-02-2008 00:30:44

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

Re: [Résolu] Zend_From et bug filtre StringToLower

J'ai l'impression que nous avons affaire à un joli bug qui me fait pété un boulon.
J'attends ton retour pour m'énervé un peu plus smile

Hors ligne

 

#16 20-02-2008 09:50:50

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

Bon j'ai du nouveau : j'ai récupéré le dernier snapshoot (celui d'aujourd'hui : 8205) j'ai créé un formulaire simple
je dump les données et elles sont toutes correctement affichées.

Précisions :
- mes vues sont encodées en UTF-8
- mes contrôleurs sont en ANSI
- je n'utilise pas d'escape

Pour le problème que j'avais c'était une erreur d'encodage d'un fichier de vue roll

Est ce que tes champs passent par une validation ou un filtre précis ?

Hors ligne

 

#17 20-02-2008 09:58:35

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Moi j'ai tout en UTF-8
Je n'utilise pas escape non plus, mais Zend_Form oui quand il réaffiche la valeur dans l'input!
Regarde le screenshot de mon debuggage: lorsque la value="" de l'input est escapé (chose totalement normal pour un attribut html) le bug arrive. Ca ne viens pas de mes fichiers...
Je testerais ce soir des désactiver tous les filtres (j'ai même pas pensé à ça... quoique même pas sur que à part StringTrim il y est quelques choses)...
Je mettrai à jour le snapshot aussi.

A ce soir smile

Hors ligne

 

#18 21-02-2008 00:30:41

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Bon alors j'ai commencé par testé avec ce code http://zend-form.tjeu.be/user/signup et ça a très bien marché. Ensuite j'ai testé en mettant à jour la librairie utilisé avec le snapshot, et la c'est le drame. Exactement le même soucis.

Je sais pas si je l'ai dis, mais ce bug n'arrive que pour les input, quand la value est réaffiché suite à une erreur (c'est la qu'elle est automatiquement escapé).

J'ai fais activé mon compte sur le bug tracker pour pouvoir posté mon problème...

@Roulio: Si ton code marche, pourrais tu m'envoyer tout ton code (archivé) que je puisse jeter un coup d'oeil?

Hors ligne

 

#19 21-02-2008 00:45:43

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

Re: [Résolu] Zend_From et bug filtre StringToLower

NOM D'UN CHIEN
J'ai désactiver les filtres (enfin le seul filtre que j'avais mis, StringToLower) et (bonne?) surprise, plus de bug. En même temps je suis content, mais en même temps il reste un soucis...

J'ai testé plusieurs filtres (StringTrim, StringToLower, StringToUpper), seul StringToLower provoque le bug.
Ayant regardé le code de StringToLower et StringToUpper je suis étonné que seul StringToLower bug vu que y'a vraiment rien de différent... mb_strtolower me voudrait il du mal??

ps: Vivement que j'arrête de monologué sur ce post... -_-

Dernière modification par Mr.MoOx (21-02-2008 00:57:40)

Hors ligne

 

#20 21-02-2008 09:28:56

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

je viens de testé avec les mêmes conditions que toi (sauf encodage ANSI pour les controllers) et s'est bien l'utilisation de StringToLower qui pose problème. Apparemment tu as déjà regardé le code, je vais quand même y jeter un oeil.

Hors ligne

 

#21 21-02-2008 09:36:10

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Je ne connais pas mb_strtolower (juste de nom). Comment es ce possible que ça fasse foiré et que le mb_strtoupper ne pose pas de soucis?

Hors ligne

 

#22 21-02-2008 09:38:24

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

essaye ça dans une vue, c'est l'exemple donné dans le manuel php. Ca confirme que le problème d'accent vient de la fonction strtolower.

Code:

$str = "Marie A un Petit Agneau, et l'aime TRès fORt.";
$str = strtolower($str);
echo $str; // marie a un petit agneau, et l'aime très fort.

ils ont commenté le résultat "théorique" mais dans notre cas on aura "marie a un petit agneau, et l'aime tr�s fort."

Dernière modification par Roulio (21-02-2008 09:40:00)

Hors ligne

 

#23 21-02-2008 09:46:30

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Ouais tu as raison c'est juste strtolower et pas mb_strtolower j'ai regardé trop vite le code.

Code:

header('Content-Type: text/html; charset=utf-8');
$str = "Marie A un Petit Agneau, et l'aime TRès fORt.";
$str = mb_strtolower($str,'utf-8');

Ce code là marche bien.

Maintenant reste à trouvé pourquoi c'est pas mb_strtolower qui n'est pas appellé alors que je défini bien l'encoding à la vue (Zend_View::setEncoding()).

On y est presque.

Hors ligne

 

#24 21-02-2008 10:09:32

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [Résolu] Zend_From et bug filtre StringToLower

Mes connaissances dans le fonctionnement de ZF s'arrête là car je ne sais pas comment ZF gère l'appel de la méthode setEncoding de la classe Zend_Filter_StringToLower.

la méthode barbare serait de remplacer strtolower en mb_strtolower !?! si tu utilise que de l'utf-8. je dit ça sans connaître les dommages collatéraux.

Dernière modification par Roulio (21-02-2008 10:09:40)

Hors ligne

 

#25 21-02-2008 10:15:00

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

Re: [Résolu] Zend_From et bug filtre StringToLower

Merci du conseille de viking big_smile
Je trouverais la méthode propre (quand on cherche on trouve toujours!) avec un coup de debugger ce soir (si j'ai le temps)

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