Bonjour à tous,

J'ai généré une entité avec la console
J'ai ensuite utilisé la commande doctrine:database:create

Il me créé bien la base de données mais en latin_swedish_1 et non en UTF-8.

Je précise que je suis sous MAMP.

Dans le book de Symfony2, il y a une commande à ajouter pour résoudre ce problème.
2 lignes à ajouter dans le fichier my.cnf
collation-server = utf8_general_ci
character-set-server = utf8

J'ai bien sûr ajouter ces 2 lignes, redémarrer mon MAMP (même mon MAC !) et la base se créé toujours en latin et non en UTF-8.

Quelqu'un aurait-il une solution à m'apporter svp ?

6 réponses


Yentia
Réponse acceptée

Salut,

Perso toutes mes bases sont en Latin et je n'ai jamais eu de problème d'encodage.
si symfony 2 est bien configuré en UTF-8 et que tes fichiers sont en UTF-8 tu n'auras aucun problème de caractères.

Merci Yentia sujet résolu donc :)

Juste pour info:

dans ton fichier my.cnf de mysql tu peux rajouter ces lignes:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

Elles te permettront d'aavoir des BDD directement en utf8, plus besoin de gérer cela par la suite. Directement quand tu feras un CREATE DATABASE, celle ci sera sous ce format

C'est exactement ce que j'ai dit dans mon premier message et ça ne fonctionne pas, ma base se crée en latin1

autant pour moi j ai oublié la moitié de ce que je voulais mettre::

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

sur windows cela fonctionne par contre sur mac je ne peux pas confirmer, malgré qu il ne devrais pas y avoir de différence normalement

Bonjour, je pense que la réponse de mikachu est correct car si on regarde la documentation de mysql sur la création de database http://dev.mysql.com/doc/refman/5.0/en/charset-database.html celui ci utilise les variables defaults contenu dans mysql.