Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/10/2011, 21h35   #1
Invité de passage
 
Inscription : mars 2004
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5
Points : 2
Points : 2
Par défaut [sf 1.4.x] Problème avec accentuation

Bonsoir,

Je débute avec symfony et je suis face à un problème difficile à résoudre pour moi surement dû à l'encodage de caractères.

L'interclassement de la base de données et de la connexion MYSQL est utf8_general_ci.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# config\doctrine\schema.yml
personne:
  options:
    type: InnoDB
    collate: utf8_unicode_ci
    charset: utf8
 
  columns:
    nom:
      type: string(255)
      notnull: true
    prenom:
      type: string(255)
      notnull: true
En ligne de commande, les tables sont bien ajoutées.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# data\fixtures\personne.yml
personne:
 
  Dupont:
    nom: Dupont
    prenom: Marc
 
  Martin:
    nom: Martin
    prenom: Pierre
 
  Legrand:
    nom: Legrand
    prenom: José
En ligne de commande, les données sont bien ajoutées si j'enlève la dernière personne. Si je la laisse, l'ajout ne se fait pas.

J'ai essayé de mettre personne.yml et schema.yml en utf8 dans notepad++ mais dans ce cas rien ne fonctionne.

Quelqu'un a-t-il une idée pour m'aider ?

Merci
Newstar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 09h21   #2
Membre habitué
 
Inscription : juin 2006
Messages : 488
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 488
Points : 116
Points : 116
c'est ton seul fichier ?

Pour info, le chargement par fixtures ne fonctionne que pour un nombre assez limité de données.
Au delà et suivant les capacités de ton serveur, il ne prend pas tout.
erictomcat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 09h44   #3
Invité de passage
 
Inscription : mars 2004
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5
Points : 2
Points : 2
C'est bien mon seul fichier.

En effet, je fais un petit site pour découvrir le symfony.
Newstar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 09h53   #4
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 771
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 771
Points : 790
Points : 790
@erictomcat : quelles limitations ? Sous Apache, avec des fixtures assez importantes (une dizaine de fichiers différents), je n'ai jamais eu de soucis. Un problème de timeout trop court peut-être ?

@newstar :
- si ta base est en utf8, je te conseille vivement de mettre tous tes éditeurs de texte en utf8 (et d'encoder tes pages HTML de même), sinon tu vas avoir des soucis.
- si tes fixtures fonctionnent quand tu enlèves des lignes, tu dois avoir un message d'erreur quand les lignes fautives y sont. De quoi s'agit-il ? Erreur dans le yml ? Problème sql ? Autre ?
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/10/2011, 10h21   #5
Invité de passage
 
Inscription : mars 2004
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5
Points : 2
Points : 2
@Herode

J'étais en train de faire une réponse avec les différents cas et des captures de la console quand je me suis souvenu d'un problème d'encodage rencontré sous IE.

Après test, la solution est d'encoder le fichier personne.yml en utf8 sans BOM et non en utf8 seul.

Merci pour l'aide apportée.
Newstar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h32.


 
 
 
 
Partenaires

Hébergement Web