Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-04-2009 17:42:20

newton
Nouveau membre
Date d'inscription: 23-04-2009
Messages: 3

[Zend_Json] : probleme de compatibilite avec mb_string

Salut,

Je suis en train de passer une appli en UTF-8 et j'ai un probleme avec le Zend_Json::decode().

J'ai des expressions json stockées en base et dans maon ancienne version non utf8 l'expression est decodée correctement.

Par contre quand j'execute la meme code sur un serveur configuré pour l'UFT-8, j'ai une exception
   <b>Fatal error</b>:  Uncaught exception 'Zend_Json_Exception' with message 'Missing "," in object encoding:

J'ai essayé d'identifier le pb et cela apparait quand j'active l'option mbstring.func_overload dans mon httpd.conf

La version de Zend Framework utilisée est la 1.7.8

J'ai passé la journée a fouiller les forums mais je n'ai rien trouvé concernant ce pb. Quelqu'un a t'il une idée ?

Merci

Hors ligne

 

#2 23-04-2009 18:05:14

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

Re: [Zend_Json] : probleme de compatibilite avec mb_string

Zend_Json::decode()  ne prendrait-il pas une chaine classique en entrée ?

A+JYT

Hors ligne

 

#3 23-04-2009 18:17:27

newton
Nouveau membre
Date d'inscription: 23-04-2009
Messages: 3

Re: [Zend_Json] : probleme de compatibilite avec mb_string

Non

    /**
     * Decodes the given $encodedValue string which is
     * encoded in the JSON format
     *
     * Uses ext/json's json_decode if available.
     *
     * @param string $encodedValue Encoded in JSON format
     * @param int $objectDecodeType Optional; flag indicating how to decode
     * objects. See {@link Zend_Json_Decoder::decode()} for details.
     * @return mixed
     */
    public static function decode($encodedValue, $objectDecodeType = Zend_Json::TYPE_ARRAY)

Hors ligne

 

#4 24-04-2009 09:17:50

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

Re: [Zend_Json] : probleme de compatibilite avec mb_string

je sais qu'il n'y a rien dazns la doc qui le dit. Mais rien ne dit le contraire et par défaut beaucoup d'élément de l'API Zend utilise de simple chaine et pas des UTF-8

ne voyant pas d'indicateur à passer en paramètres pour indiquer à Zend_Json que ce qu'on lui donne n'est pas une simple string, j'en conclus que comme la majorité des composant il utilise des simple chaine et non de l'UTF-8

lorsqu'une API utilise de l'UTF-8 et uniquement de l'UTF-8 c'est indiqué dans la doc. je ne me souviens pas d'un cas où ce n'est pas mentionné.
Lorsqu'elle utilise plusieurs encodage il y a toujours un argument dans l'API pour indiquer lequel

A+JYT

Hors ligne

 

#5 24-04-2009 10:18:20

newton
Nouveau membre
Date d'inscription: 23-04-2009
Messages: 3

Re: [Zend_Json] : probleme de compatibilite avec mb_string

Apres plusieurs tests j'ai remarqué que le probleme vient de la configuration de mbstring.
En effet j'utilise l'overload avec ds ma configuration
php_value mbstring.func_overload  7

Si je desactive cette directive, plus de probleme
Si je mets la valeur a 3, plus de pb.
=> le probleme vient donc de la surcharge des expressions regulières par mbstring

J'ai remonté un bug la dessus apres de zend, on verra ce que ca donne.

HJ

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