|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 6 ![]() |
bonjour,
je viens de me mettre au zf. quelle est la bonne stratégie pour les charset ? voici ma piste config.ini Code :
Code :
je pensais décliner une classe Zend_Db pour surcharger la fonction ->quote() et les fonctions de type ->fetch() et glisser des petits mb_convert_encoding() pour convertir entre work.charset et database.charset. Ensuite utiliser $view->setEscape() pour indiquer une fonction qui utilise mb_convert_encoding() pour convertir vers output.charset. Ou bien décliner Zend_View pour surcharger escape() et ajouter 2 méthodes ->setWorkEncoding() et ->setOutputEncoding() (pour être plus esthétique). est-ce la bonne stratégie ? l'idée est de pouvoir être très générique bien sûr comment faites vous ? EDIT : et avec mbstring.encoding_translation quelqu'un a testé ? => pas bien EDIT 2 : j'ai sous-classer Zend_Db_Adapter_Pdo_Mysql EDIT 3 : en mysql le charset latin1 correspond à Windows-1252 en mbstring |
||||
|
|
00
|
|
|
#2 | ||||||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 6 ![]() |
après quelques heures de farfouillage de docs et de codes...
pour la base de données : sous-classer Zend_Db_Adapter_Pdo_Mysql (pour Mysql) semble être une bonne idée Code :
sous-classer les zend_filter pour output http : le moteur mbstring en automatique (mbstring.encoding_translation On) c'est pas le top (risque d'effet de bord, impact selon l'implémentation du zf, très lié à la conf serveur, etc) mbstring permet aussi d'utiliser ob_start avec une fonction de callback mais ob_start est aussi utilisé par zend_cache..... d'où l'idée d'une classe Encoding_Dummy_Cache_Page qui utilise ob_start uniquement pour la convertion mbstring et pour vraiment utilser la cache + mbstring il faut sous-classer Zend_Cache_Page en Encoding_Cache_Page (par ex) cela permet de rester cohérent avec les évolutions du zf... commentaires ? EDIT : le code Code :
Code :
|
||||||
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 6 ![]() |
re,
je continue ce post seul pour le output le pseudo cache c pas une bonne piste... j'utilise juste le $view->setEscape Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com