Sono stato sempre questo errore in Ruby 1.9, Rails 3.0, ActiveRecord 3.0:Perché ActiveRecord restituisce campi codificati come ASCII-8BIT anche con mysql2 gem?
incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)
Questo sta accadendo perché la stringa su cui sto cercando di chiamare gsub
(che proviene direttamente da una materia oggetto ActiveRecord) ha una codifica di ASCII-8BIT
. Ho letto diversi articoli, post e risposte che dicono che questo è causato dalla gemma mysql che codifica le cose sbagliate e suggerisce mysql2.
Ma sto già usando mysql2. Ho provato una versione 0.2.x e l'ultima versione 0.3.7 e né risolvere il problema:
irb> str = Discussion.first.content
=> "Something's wrong with encodings..."
irb> str.encoding
=> #<Encoding:ASCII-8BIT>
ho cambiato la codifica del database e la codifica tavolo in MySQL, ho anche provato a installare il LANG env variabile senza fortuna. C'è un altro posto dove posso guardare o vedere perché sto ottenendo questa codifica sbagliata?
Ecco un altro po 'di informazioni: \ _ \ _ ENCODING \ _ \ _, Encoding.default_external e Encoding.default_internal all return UTF-8 – mltsy