inohilog

/var/log/inohiro

ruby-mysql で,Ruby から MySQL に接続

常日頃,ActiveReacord 先生のお世話になりっぱなしです.
卒業研究で書いてるプログラム,ruby で処理したデータをMySQLに突っ込みたいので,ruby-mysql gem のお世話になることにしました.

gem でインストールしたら,2.9.4 が入った.ruby は rvm でインストールした,1.9.3-p0.
簡単な使い方は github にも書いてあるけど,文字コードでちょっと引っかかったので,メモしておく.

require 'mysql'

my = Mysql.connect( 'hostname', 'username', 'password', 'dbname' )
my.charset = 'utf8' # ここで指定した文字コードで,クエリの結果が返ってくる
hoges = my.query( 'select * from hoges' )
my.query( 'select * from fugas' ).each do |fuga| puts fuga[0] end

Mysql#charset を指定しておかないと,MySQLに入っているデータが UTF-8 でも ISO-8859-1 で返ってきた.指定できる文字コードは,"ruby-mysql-2.9.4/lib/mysql/charset.rb" に定義されている.