2010-11-24 4 views
2

My Doctrine 1.2 est intégré dans CodeIgniter en tant que hook et je sais que mon jeu de caractères est utf8 avec collation utf8_unicode_ci.Doctrine - charge un appareil YAML avec des caractères français

J'ai deux fichiers YAML, un pour créer le DB et ses tables et l'autre pour charger des données de test. Mes données peuvent contenir des accents français (çéïë ...). Dans mon schama.yml je l'ai indiqué correctement la collecte et char-set:

options: 
    type: INNODB 
    charset: utf8 
    collate: utf8_unicode_ci 

Je double vérifié les paramètres dans phpMyAdmin, tout est correct. Lorsque j'exécute mon script de doctrine à partir de la ligne de commande pour charger mon appareil dans l'une de mes tables, tous les accents français sont remplacés par du junk! Est-ce qu'il me manque un paramètre ou une configuration ou est-ce qu'il y a un bug dans Doctrine?

Répondre

3

Vous devriez avoir dans votre /config/database.php connexion Doctrine:

// Load the Doctrine connection 
$doctrine = Doctrine_Manager::connection($db['default']['dsn'], $db['default']['database']); 

Pour résoudre le problème avec l'encodage, vous devez ajouter cette ligne:

$doctrine->exec('set names utf8'); 
+1

Confirmé à travailler avec hongrois personnages. – CodeTwice

+1

J'ai eu le même problème avec CodeIgniter + Doctrine 1.2 et cette solution résout les problèmes avec les caractères latins. –

Questions connexes