Environnement: Ruby 1.9.2, Rails 3.0.1Rails: "séquence d'octets invalide en UTF-8" exception lors de la création d'une association has_one par UUID
Deux tables MySQL: 1. articles, 2. vote_counts (chaque ligne représente le nombre d'utilisateurs ayant voté sur un élément)
Étant donné que les tables sont volumineuses et que j'ai besoin de les partitionner, j'utilise des UUID. La colonne uuid est définie dans les deux tables: uuid
varbinary (16) NOT NULL.
I définit une association has_one dans le modèle d'article: has_one: vote_count,: foreign_key => "uuid",: primary_key => "UUID"
Quand j'appelle item.vote_count, je reçois l'exception suivante sur certaines valeurs UUID: "ArgumentError: séquence d'octets invalide en UTF-8".
Bien sûr, l'UUID brut est juste une séquence d'octets (Encoding: ASCII-8BIT), mais lorsque ActiveRecord construit une requête SQL, il essaie de l'interpréter comme une chaîne UTF-8.
Comment puis-je lui dire de simplement passer la séquence d'octets à MySQL?
quel pilote MySQL (et quelle version) utilisez-vous? Quel encodage MySQL a-t-il pour la colonne en question? –
Pilote: mysql2 ver 0.2.6 –
La table a un encodage utf8, mais est-ce important pour une colonne varbinary? –