Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je suis actuellement hébergé chez OVH en mutualisé.
Utilisant l'utf-8 dans un partie importante de mon application, j'aimerais faire en sorte d'utiliser le maximum de composants dans ce codage pour éviter d'avoir à utiliser utf8_encode/decode à longueur de temps (Ma BDD et mes pages web utilisent utf8).
Je dois donc utiliser les versions mb_ d'un certain nombre de fonctions. Malheureusement, l'option mb_string.func_overload qui permet d'utiliser automatiquement la variante mb_ desdite fonction ne peut pas être activée sur mon serveur.
Ainsi, je compte convertir mon code moi même en utilisant les mb_ (j'ai encore un volume raisonnable). Par contre, mon application utilisant le plus possible les possibilités de Zend (Db, Acl, Auth, MVC, Layout, Filter, Validate, Lucene, ...), je voudrais avoir si le framework utilise les versions mb_ dans son code ou si cela risque de poser des problèmes.
Je vous remercie d'avance,
Emmanuel
Hors ligne
Salut,
Il y a plus simple.
Si tout est déjà configuré pour fonctionner en utf8, il te suffit d'enregistrer/convertir tes fichiers au format utf8 avec n'importe qu'elle éditeur de code un peu avancé. Ensuite plus besoin de coder les accents en utf8 dans les pages, tout est automatique.
De mon côté je m'arrange pour configurer le projet lui même en utf8 pour que tous les fichiers héritent de cette configuration.
Ceci a tout de même un inconvénient. Lorsque tu ouvres tes projets depuis un autre éditeur, il risque de te les convertir sans te prévenir, donc il faut être prudent.
A+ benjamin, et un bisous à Kaede en passant
Hors ligne
Merci
Tous mes fichiers sont effectivement en utf8.
Cependant d'après ce que j'ai compris, certaines fonctions (strlen par exemple) peuvent mal fonctionner avec des chaines de caractère en utf8 d'où l'utilisation de son équivalent mb_strlen.
Est-tu sur qu'avoir tout ton script encodé en utf8 soit suffisant?
PS. Je transmet le message :-)
Hors ligne
Alors non, j'ai pas bien lu la question, j'ai sorti une réponse par défaut un peu trop rapidement pardon
Il me semble bien que dans les packages ZF, ce sont les fonctions mb_* qui sont utilisées et que lors de l'utilisation d'une fonction sur les chaines, la présence des fonctions mb_* est systématiquement testée.
Exemple :
if (!function_exists('mb_strtoupper')) { require_once 'Zend/Filter/Exception.php'; throw new Zend_Filter_Exception('mbstring is required for this feature'); }
Maintenant je ne sais pas te dire si c'est vraiment systématique. Par logique je dirais que oui
Confirmation d'un expert ZF ?
A+ benjamin.
Dernière modification par Delprog (16-02-2009 15:20:19)
Hors ligne
Hello,
ZF utilise majoritairement iconv (Zend_Locale et Zend_Date principalement) et utilise les mb_* si nécessaire. Chaque utilisation vérifie "normalement" (mais ce n'est pas toujours le cas) le chargement de l'extension et/ou la présence de la fonction.
Mais pas d'utilisation de mb_* dans Zend_Form.
A+
Hors ligne