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

Doctrine2 PHP Discussion :

Charset de la base et/ou des entités


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Charset de la base et/ou des entités
    Une surprise sur une de mes bases de test.

    Elle n'est pas en "URF8 general ci" ! Ceci après avoir des accents qui ont joué les filles en l'air.

    Je regarde de plus prêt. Je démonte doctrine 2. La création d'une base et... non, pas de paramètres possible pour préciser le charset lors de la création, par doctrine, de la base. Il utilise, pour MySql un "CREATE DATABASE xxxxx" tout simple (cf méthode getCreateDatabaseSQL() de la classe Doctrine\DBAL\Platforms\MySqlPlatform() )

    Pas non plus de paramètre dans l'annotation pour spécifier le charset d'une table. Par contre, dans le code, pour la création d'une table, il y a bien dans la méthode _getCreateTableSQL un charset dans les options avec une valeur par défaut : utf8. Sauvé ? Non ! Il créer les tables en latin1_swedich_ci (swedich !) (possible que cela soit un paramètre par défaut dans MySql).

    Le code fait une obscure recherche d'un paramètre par défaut pour la valeur du charset, mais je n'ai pas encore pu pister l'origine du paramètre.

    Déjà rencontré cela ?
    Une solution ?

    Je prends !!!

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Par défaut MySQL est en latin1 donc Doctrine prend le ce paramètre en compte. t'as bien rajouté l'option charset pour les tables ?

  3. #3
    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
    Il n'y a pas d'option charset dans les paramètre utilisable dans les annotations...

    Ce qui rend sa déclaration plus ... difficile

    A certains moment quant je passe plus d'une demi journée sur un truc qui devrait être réglé en 10mn, c'est ... prise de tête.


    J'ai bien trouvé un paramètre charset à mettre dans la configuration de la base de données, mais il n'est pas pris en compte dans la création de la base (le code ne le gère pas). Et pour l'instant, vu que j'ai regardé le code des entités, il ne veut plus rien créer... J'ai du mettre un espace de trop quelque part... (profond soupir d'un désespoir certain)

  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
    A priori, la PR7 a changer un paquet de truc au niveau des déclarations d'entity avec annotation.

    Et bien sur, pas la moindre documentation qui colle...

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Par défaut
    Est ce que mettre ceci suffit ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    framework:
        charset:       UTF-8
    J'ai déjà recréé le schéma entier par doctrine et tout reste en utf8.

  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
    non, celui-ci y est depuis toujours sur ce projet.

    Je pense que c'est la déclaration dans la partie orm qu'il faut faire. Mais impossible de tester, toutes mes entitées sont "plantée", lors de la génération il me redéclare les propriétés déjà déclarée. Bien sur, à la première exécution, il plante...

    Mais j'ai eu une idée devant mon jeu de tarot ce soir ("Michel, à quoi tu penses ? C'est à toi de jouer... " "Vous ne pouvez pas comprendre" ). Je teste demain (trop tard là) et je poste, si c'est la solution.

Discussions similaires

  1. Création des entités en Base de données
    Par Rony Rauzduel dans le forum Doctrine2
    Réponses: 5
    Dernier message: 09/07/2013, 11h42
  2. Création des entités dans la base de données
    Par Leaffy dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 26/12/2011, 11h35
  3. Réponses: 0
    Dernier message: 02/02/2011, 02h39
  4. Réponses: 3
    Dernier message: 08/11/2008, 18h28

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