IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[sf 1.4.x] Problème d'accent : données supprimées [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut [sf 1.4.x] Problème d'accent : données supprimées
    Bonjour,
    j'ai l'action suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function executeIndex(sfWebRequest $request)
      {    
        $this -> data = Doctrine_Core::getTable (tablex') -> getData ();
      }
    le template suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <table cellpadding="0" cellspacing="0" border="0">
    	<thead>
        	<tr>
          		<th>id</th>
          		<th>Commentaire</th>
                    etc...
        	</tr>
      	</thead>
      	<tbody>
        	<?php foreach ($data  as $blabla): ?>
        	<tr>
          		<td><?php echo $blabla -> geId () ?></td>
          		<td><?php echo $blabla  -> getCommentaire () ?></td>
                     ...
        	</tr>
        	<?php endforeach; ?>
      	</tbody>
    </table>
    le soucis est que toutes les données contenant des accents sont automatiquement supprimées lors de l'affichage. Alors que la requête récupère bien toutes les données (après vérification). quelqu'un a t'il une explication ?

    mon fichier databases.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    all:      
      mabase:
        class: sfDoctrineDatabase
        param:
          dsn: 'pgsql:host=ip;dbname=base
          username: login
          password: pass
          encoding: LATIN9
    mon fichier view.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    default:
      http_metas:
        content-type: text/html; charset=iso-8859-1
    ...
    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Essaye de basculer le charset en urf-8

    A mon avis, il faut le faire pour tous les fichiers et la base

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    bonjour,
    si je mets de l'UTF-8 ca ne change rien mes données de ma base ne sont pas affichées, de plus tous mes accents des données static sont remplacés par un "?"...
    il est impossible de faire fonctionner symfony avec du Latin9 ?

    mon action récupère bien toutes les données, c'est lors du parcours de ma boucle dans mon template qu'on ne trouve plus celles avec des accents, quelles sont les classes utilisées par symfony pour faire ses "filtres" au pire je bidouille à ce niveau, étant débutant de ce framework je suis un peu perdu.

    Merci d'avance.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Si tu as bien configuré symfony, il n'y a pas de raison qu'il ne fonctionne pas avec latin9

    En fait, je pensais plutôt à une configuration du style symfony en utf8, la base en autre chose et les fichiers dans un troisième encodage...

    Symfony est prévu pour fonctionner en utf8, par défaut, et je n'ai jamais vu d'intérêt à le configurer autrement.

    Mais dans tous les cas, il ne devrait pas y avoir de ? qui remplace les accentuées, juste d'autre caractères...

    L'escape est un peu particulier, il est géré par un objet sfOutputEscaper... un objet que je n'ai pas encore décortiqué...

    Vérifie que tu as bien le même encodage partout, base, sauvegarde des ficher et configuration de symfony (apps/<application>/config/setting.yml) paramètre charset. Éventuellement, essaye de désactiver l'escape, même fichier paramètre escaping_strategy a false.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 44
    Par défaut
    en rajoutant charset: iso-8859-1 dans settings.yml ca fonctionne super bien
    merci bcp pour ta réponse.

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Latin9, iso-8859-1, un peu salade...

    A ta place, je ferais en sorte de mettre le même encodage sur les 4 éléments que sont la base de données, l'application, les pages générées, la sauvegarde des fichiers.

    Et, aujourd'hui, avec symfony, je ne vois pas d'intérêt à utiliser un autre encodage que l'utf8. Mais ce n'est que mon avis.

    Par contre, la même chose partout, c'est un conseil "évite problèmes".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] problème d'accent lors de l'insertion et selection de données
    Par maelislah dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/06/2015, 10h05
  2. Insertion de donnée dans mysql : problème d'accent
    Par DonKnacki dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 20/06/2009, 18h44
  3. insertion de données : problème d'accent
    Par DonKnacki dans le forum Requêtes
    Réponses: 7
    Dernier message: 20/04/2009, 16h54
  4. [MySQL] problème d'accents avec la base de donnée
    Par snyfir dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/07/2007, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo