Bonjour à tous,

et oui, oui, caractères accentués, 1 de plus.

J'étais en ZF 1.9.3.
Mon site fonctionnait parfaitement.

MySQL en UTF-8, champs itou.
Fichiers encodés en UTF-8 (sans BOM)
Vues html en UTF-8 via mon Bootstrap
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=UTF-8');
L'affichage de mes champs dans les pages html était impeccable via de simples
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php echo $this->escape($bibliotheque->obj_libelle01);?>
Mon application.ini contenait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
resources.db.params.driver_options.1002 = "SET NAMES utf8;"
Les Zend_Forms marchaient impecc, et les valeurs saisies étaient enregistrées correctement accentués.

Bref, données en base correctes, données affichées correctes.


Je bascule en ZF 1.10

Les champs contenant des caractères accentués ne s'affichent plus du tout via
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php echo  $this->escape($bibliotheque->obj_libelle01);?>
Les Zend_Form n'affichent plus non plus les valeurs de ces champs,

et lorsque je saisis de nouvelle données, celles-ci s'affichent correctement mais sont enregistrées en ISO-8859-1 dans la base.

Après moultes galères, j'apprends qu'à partir de ZF 1.9.7, la méthode escape de Zend_View_Abstract::escape() a changé d'encodage par défaut = est passée de ISO-8859-1 à UTF-8.

OK, me dis je, petit couillon, remets ISO-8859-1 dans escape.

Mais rien n'y fait, tout fout le camp.


Où se trouve mon sauveur ?????