Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-07-2008 17:50:56

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

[résolu] Problème d'affichage des accents.

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

Code:

/**
 * 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

Code:

 $view->setEncoding("ISO-8859-1");

cela ne fonctionne pas, les accents sont encodés en bizarrement

Si par contre je fais

Code:

 $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:

Code:

    <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

 

#2 15-07-2008 20:23:41

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: [résolu] Problème d'affichage des accents.

Peut etre ton fichier est sauvegardé en utf-8 ?
Uitlises tu un IDE ?
Sauvegarde tes fichiers en iso pour voir.


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#3 15-07-2008 23:53:15

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [résolu] Problème d'affichage des accents.

bien joué alien.

en effet le projet était en UTF-8 (j'utilise l'ide de zend)

Merci

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages