Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Hello,
je suis sur un projet Européen multilangue ou je rencontre des problèmes d'accents.
En effet ceux ci sont mal encodés, j'obtiens par exemple: Développé
Mes sources sont diverses; BDD et fichier csv.
j'ai mis en place un view helper selon un article du forum: http://www.z-f.fr/forum/viewtopic.php?pid=5783#p5783
re-voici ma classe
/** * Ajoute une methode a Zend_View * pour utiliser directement * Zend_Translate * */ class Application_Views_Helper_TranslateView extends Zend_View { protected $_translate; public function __construct($config=array()) { if(!empty($config['translate']) && $config['translate'] instanceof Zend_Translate) { $this->_translate = $config['translate']; } parent::__construct($config); } /** * Methode de traduction * * @param string $messageId Le message a traduire * @param Zend_Locale $locale Vaut null par defaut * * @return string Le message traduit */ public function _($messageId, $locale = null) { return htmlentities( $this->_translate->_($messageId, $locale),ENT_COMPAT, $this->getEncoding() ); } }
le charset que j'utilise est ISO-8859-1.
si naturellement dans mon bootstrap je fais
$view->setEncoding("ISO-8859-1");
cela ne fonctionne pas, les accents sont encodés en bizarrement
Si par contre je fais
$view->setEncoding("UTF-8");
cela fonctionne mais uniquement pour les éléments provenant du fichier csv.
si j'écris du texte en dur dans le fichier template (fichier phtml), ben les accents ne passe pas.
Dans la balise header j'ai bien précisé l'encoding:
<meta http-equiv="Content-Type" content="text/html; charset= ISO-8859-1" />
Concernant les élements provenants de la BDD, ils s'affichent correctement !!! bizarre bizarre
Donc pour résumer:
- le texte de la BDD s'affiche correctement sans passer par htmlentities
- les messages csv, doivent être encodés en UTF-8 ( mais pourquoi ????)
- si je rentre en ex du texte en dur dans la page même problème que précédemment.
voila ma question:
Pourquoi j'obtiens des caractères bizarres dès lors que j'utilise des accents alors que je suis sur un charset standard ISO-8859-1? et bien sur comment y remédier ?
D'avance merci
Dernière modification par bucheron (15-07-2008 23:53:41)
Hors ligne
Peut etre ton fichier est sauvegardé en utf-8 ?
Uitlises tu un IDE ?
Sauvegarde tes fichiers en iso pour voir.
Hors ligne
bien joué alien.
en effet le projet était en UTF-8 (j'utilise l'ide de zend)
Merci
Hors ligne