Bonjour à tous,
je suis confronté à un problème dont je ne me sort pas.
J'ai besoin de créer des enregistrements dans ma base de données (MySQL 5) à partir d'une tache rake... et ces enregistrements doivent pouvoir contenir des caractères accentués. Naturellement, j'ai donc fait une tache rake qui ressemble à cela :
en lancement la tache rake, le log de l'appli rails indique que le code sql suivant est généré :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 task :test => :environment do Item.create(:name => "avec des é et des à") end
Jusque là tout va bien... mais quand je regard dans ma base de données
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SQL (0.000000) SET NAMES 'UTF8' SQL (0.000000) SET SQL_AUTO_IS_NULL=0 Ad Columns (0.000000) SHOW FIELDS FROM `items` SQL (0.000000) BEGIN Item Create (0.156000) INSERT INTO `items` (`name`) VALUES('avec des é et des à') SQL (0.063000) COMMIT
J'ai beau tout essayé, je n'arrive pas à envoyer des accents dans la db via une tâche rake.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 mysql > select name from items; +-----------+ | name | +-----------+ | avec des | +-----------+ 1 row in set (0.00 sec)
Tout fonctionne au niveau de l'appli rails via un navigateur.
Mon fichier database.yml indique bien encoding: UTF8
Ma base de données est bien en UT8
J'ai même été modifié le my.ini en rajoutant
[mysqld]
character-set-server = utf8
[client]
default-character-set = utf8
Tout ça sans succès. Je vois pas ce qui cloche.
Je suis sous rails 2.0.1 / MySql 5 / Win XP2 (et je peux reproduire le pb sous Debian Etch)
Merci pour votre aide
Partager