J'utilise la fonctionnalité MVC dans Zend Framework 1.9, et il semble que Zend_Layout n'encode pas le contenu de la vue en utilisant UTF-8, bien que cela soit défini dans le titre.Zend_Layout ne semble pas encoder le contenu en tant que UTF-8
Le script de mise en page est illustré ci-dessous.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php echo $this->headTitle(); ?>
<?php echo $this->headMeta(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headScript(); ?>
</head>
<body>
<p>£ $ £</p>
<?php echo $this->layout()->content; ?>
</body>
</html>
Le script de vue peut être trouvé ci-dessous. Dans la mise en page, le symbole dièse sort comme prévu, mais il ne s'affiche pas dans la vue réelle.
Si je supprime la mise en page et affiche simplement la vue, cela sort très bien. Aussi, si je mets le contenu de $ this-> layout() -> à l'intérieur de utf8_encode, tout fonctionne bien.
Je veux juste savoir s'il existe un moyen de résoudre ce problème DANS Zend Framework.
La première chose que j'ai faite a été d'utiliser setEncoding sur la vue pour le changer en UTF-8 mais cela ne semblait pas faire de différence. Aurais-je dû faire quelque chose de plus? –