Non può scoprire dove il mio Ruby 1.9 stringa di codifica si sta incasinato
Domanda
Da qualche parte lungo la linea dal DB all'applicazione, in questo modo:
sauté
sta ottenendo trasformato in questo:
sauté
sto usando Ramaze + Rack + MySQL. Ho un force_encoding plugin di set up, quindi la codifica sulla stringa è UTF-8. Se osservo il record nel guscio del database, è guarda bene. Il charset di default sul tavolo è utf8, e il campo stesso è "text". La codifica sulla mia connessione al database è utf8. Inoltre, sul mio MacBook, tutto funziona alla grande. E 'sul mio server Ubuntu che si sta facendo storpiato. Sto sperando che qualcuno possa riconoscere questo e mi dicono che è unicode sempre rivolto a ASCII, poi di nuovo, o qualcosa del genere.
Soluzione
Molto probabilmente il diverso locale.
Eseguire il comando locale
su entrambi e vedere che cosa è la differenza.
Presumo che si vede un problema quando si ottengono risultati di ritorno da MySQL, che è un problema comune con 1,9 secondo i risultati di Google: http://www.google.com/search?q=mysql+ruby+1.9+encoding .