Rails + Windows + Mysql(SJIS)
この組合せだとMysqlと日本語のやりとりをするときに文字化けします。「UTF-8を使え」というのが簡単な解決策ですが、しがらみ等あってそうはいかない場合もあると思いますので回避方法を...
どこかのドキュメントに書いてあるのかもしれませんが、探せなかったのでソースを読んでみる。ActiveRecordのconection_adapters/mysql_adapter.rbに
private def connect encoding = @config[:encoding] if encoding @connection.options(Mysql::SET_CHARSET_NAME, encoding) rescue nil end @connection.real_connect(*@connection_options) execute("SET NAMES '#{encoding}'") if encoding end
という行があります。@configすなわちdatabase.ymlで設定できるということです。
development: adapter: mysql database: Depot_development host: localhost username: scott password: tiger encoding: sjis
こんな感じでOKです。