Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-01-2010 00:57:47

zebulon
Nouveau membre
Date d'inscription: 03-01-2010
Messages: 6

[Zend_Form] Problème d'encodage/charset dans un formulaire

Bonjour,

J'ai eu à créer un formulaire Zend_Form.

Problème, un mot accentué (exemple fête) s'affiche :

     - Correctement lorsqu'il est utilisé dans le Label d'un champ de formulaire
     - Avec un � au milieu lorsqu'il s'agit de la valeur d'un  champ de formulaire.

Je précise que :

- La valeur du champ ne provient pas le la base de données mais a été saisie dans le formulaire lui même au cycle précédent. cela ne vient donc pas de la DB à priori.
- Je travaille en UTF8 :
     - Mon éditeur de scripts php travaille en utf8 sans BOM
     - Le site génère des pages avec header en UTF8 : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     - Mon navigateur affiche en UTF8
     - Ma DB MySQL est en UTF8 (tables et colonnes) et je force MySQL à travailler un UTF8 (..."SET NAMES 'UTF8'"..) => mais à mon avis cela ne concerne pas mon problème.
     - J'utilise ZF 1.9.6, PHP 5.2.9...

Quelque part, il semble que ce que je tape dans mes champs de formulaire soit pris en compte en iso-8859-1 et non pas en UTF8

Quelqu'un sait il comment corriger ce problème ?

Hypothèses :
-Y a t-il des problèmes connus avec les Zend_Filter ? J'utilise notamment Zend_Filter_Callback('ucfirst')
-Est ce lié à la locale (FR_fr)

Merci pour votre aide,

ps : je travaille en UTF8 car je fais de l'AJAX...

Dernière modification par zebulon (07-01-2010 01:08:48)

Hors ligne

 

#2 07-01-2010 08:52:29

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend_Form] Problème d'encodage/charset dans un formulaire

Est-ce que tes headers http indiquent que ta page est en utf-8 ?
soit tu le fixe dans ta conf apache avec AddDefaultCharset UTF-8
soit dans ton code php

Code:

header('Content-Type: text/html; charset=utf-8');

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 07-01-2010 09:54:55

keilnoth
Membre
Date d'inscription: 30-08-2008
Messages: 128
Site web

Re: [Zend_Form] Problème d'encodage/charset dans un formulaire

L'enfer de l'encoding. smile

Tu peux tout configurer en UTF-8 si a un moment donné tu as saisis des données en ISO dans ta DB alors elles sortiront en ISO. Essaie de supprimer toutes les données ISO de ta DB et de recommencer depuis le début.

Pour ma part, voici comment la requête pour la connexion est passée, elle est un peu différente de la tienne :

Code:

$database->query('SET NAMES utf8');

Quelques tutoriaux Zend Framework !

Hors ligne

 

#4 07-01-2010 22:37:11

zebulon
Nouveau membre
Date d'inscription: 03-01-2010
Messages: 6

Re: [Zend_Form] Problème d'encodage/charset dans un formulaire

Bonjour,

Merci pour ces éléments.

J'ai modifié la config Apache en ajoutant AddDefaultCharset UTF-8 .... Cela n'a rien changé

Puis, j'ai supprimé mes Zend_Filter et la magie (noire !) : Mes affichages sont devenus corrects !! Grrrr
Il y a donc peut être un bug dans Zend_Filter ... ou alors je ne l'utilise pas correctement

Si quelqu'un à des explications sur ces hypothèses, je suis preneur d'informations.

D'ici là, je vais devoir "Zend_filtrer" en contournant Zend_Filter.

Cordialement,

Dernière modification par zebulon (07-01-2010 22:39:37)

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