Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
je vous contacte pour vous faire part d'un souci qui me gène vraiment... Mon site ainsi que mon serveur linux sont configurés pour accepter l'UTF-8. Pour se fairte voilà les manipulation effectuées :
dans le php.ini et le httpd.conf le charset est activé pour utf-8 (commenté pour iso).
Dans le layout, une ligne de meta a été rajouté pour prendre en compte l'utf-8 :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Ainsi, tout accent ou caractères spéciaux sont affichés correctement à partir du moment où ils sont saisis sous la forme : é pour un e accent aigu par exemple. Donc tout va bien de ce côté... par contre, tout se complique avec Zend_Form.
Je m'explique, les label générés via zend form contenant des accent m'affichent un losange contenant un point d'interrogation... Arg... En essayant de transformer les accent par les caractère html (é par exemple), c'est directement le code html qui s'affiche dans ma vue...
J'espère que vous pourrez m'aider à comprendre ce qui ne va pas, j'ai peut être oublié une commande ou une ligne dans le bootstrap... En tout cas, les topics sur ce sujets sont nombreux mais je n'en trouve aucun résolvant mon problème...
Mr MoOx a bien conseillé d'effectué ceci :
setlocale(LC_CTYPE,'fr_FR.UTF-8'); iconv_set_encoding('internal_encoding', 'UTF-8'); iconv_set_encoding('output_encoding', 'UTF-8'); iconv_set_encoding('input_encoding', 'UTF-8'); header('Content-Type: text/html; charset=utf-8');
Mais je ne sais pas où...
Merci à tous d'avance, ce problème m'énerve
la galère... qui galère...
Hors ligne
Salut à tous,
bon pas très fier de la qualité de ma solution... niveau propreté assez moyen...
Pour ceux que ça intéresse, il est possible de faire directement un utf8_encode sur le label des champs de formulaires que l'on créé...
Si toutefois quelqu'un a une meilleure solution, je suis preneur... sinon cette solution suffira...
A bientôt
Hors ligne
Wow aujourd'hui même, je suis venu à la recherche d'une solution pour le même problème ! Peux-tu nous montrer la ligne de code pour le faire l'encodage directement sur le label des champs de formulaires ?
Un simple ->setEscape('utf8_encode'); ???
De cette façon, les accents dans un champs sont correct ?
Merci de ton aide !
Dernière modification par probitaille (12-05-2009 15:13:28)
Hors ligne
Tu trouveras ci-dessous ma façon de faire, bien sur j'emet toujours des reserves quand à la qualité du code
$prenom = new Zend_Form_Element_Text('prenom'); $prenom->setLabel(utf8_encode('Prénom * :')) ->setRequired(true) ->addValidator('NotEmpty') ->setAttribs(array('class' => 'standard obligatoire', 'maxlength' => '32'),'');
N'hésites pas, si ça ne marche pas
Hors ligne
setlocale(LC_CTYPE,'fr_FR.UTF-8'); iconv_set_encoding('internal_encoding', 'UTF-8'); iconv_set_encoding('output_encoding', 'UTF-8'); iconv_set_encoding('input_encoding', 'UTF-8'); header('Content-Type: text/html; charset=utf-8');
Ce code est a mettre dans ton fichier index.php ou dans ton bootstrap
Hors ligne
Merci benji,
comme je le disais dans un précédent post, j'avais déjà essayé de mettre cette partie de code dans mon Bootstrap et... rien
Par contre, je ne l'ai pas mis dans l'index... Mais ça m'étonnerai que ça change grand chose...
En attendant ma solution est tout à fait fonctionnelle, je vais rester là dessus en attendant de trouver mieux où de faire fonctionner la tienne
merci beaucoup
Hors ligne
Non ce bout de code ne règle rien non plus pour moi, c'est une bonne solution pour les labels mais j'ai le même problème lorsque je récupère dans mon formulaire des donnés de ma BD....
Hors ligne
Moi il m'est arrivé un problème du même style.
Je rentai des données pour tester via PHPMyAdmin, pas de problème d'accent via celui ci.
Une fois affiché dans une page, problème d'accents.
Puis j'ai rentré les données via formulaire, et la plus du tout de problème d'accent.
Je ne sais pas si cela peut t'aider ?
Dernière modification par Seazer (13-05-2009 11:12:18)
Hors ligne
Pour Zend en UTF8 j'ai trouvé un bon article:
http://www.iezzi.ch/archives/371
Pour la conversion des fichiers votre IDE (Eclipse?) peut le faire.
Dernière modification par fatahou (13-05-2009 11:19:10)
Hors ligne
salut,
j'avait le même probleme et j'ai fait :
<?php echo utf8_encode( $this->form ); ?>
dans le fichier vue phtml et ça marche plus de problèmes d'accents.
Dernière modification par patate (20-05-2009 12:00:49)
Hors ligne