Bonjour,
J'ai un drôle de problème avec une application Zend Framework et l'encodage de caractère. J'ai une base de données utilisant 'utf8_general_ci' et je récupère une information dans ma page qui est également en UTF-8.
Au lieu d'afficher sécurité, il affiche s�curit�.
La détection de l'encodage de la chaine me dit bien que c'est de l'UTF-8 et pourtant, ça ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part var_dump(mb_detect_encoding($var), $var);J'ai configuré mon projet de la manière suivante :string 'UTF-8' (length=5)
string 's�curit�' (length=10)
Code application.ini : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 database.adapter = "Mysqli" database.params.charset = "UTF8" database.params.host = "127.0.0.1"
Code Boostrap.php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 protected function _initDb() { // Paramètres de base de données $database_config = $this->getOption('database'); // Création de la connexion en base de donnée à partir du config $db = Zend_Db::factory($database_config['adapter'], $database_config['params']); // Enregistrement dans le registre pour une utilisation ultérieure Zend_Registry::set('db',$db); return $db; }
Code de mon model : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function maFonction(){ $sql = $this->db->select()->from('maTable'); $stmt = $this->db->query($sql); return $stmt->fetchAll(); }
Je sèche un peu pour le coup, avez-vous une idée ?
Merci d'avance
Partager