ruby-mysqlで文字コード指定

rubyでMYSQLにつなぐ際にMySQL/Rubyを使っていたのですが、どうやら開発が止まってしまったらしくruby1.9には非対応とのこと

https://github.com/tmtm/ruby-mysql

こちらからruby-mysqlなるものをダウンロード。

ちなみにプロキシ越しのgemではうまくいきませんでした

# gem install ruby-mysql
WARNING:	Error fetching data: too many connection resets (http://rubygems.org/latest_specs.4.8.gz)
ERROR:	Could not find a valid gem 'ruby-mysql' (>= 0) in any repository
ERROR:	Possible alternatives: ruby-mysql

とりあえずインストール

# ruby setup.rb
  • 日本語

mysqlにはSjisでデータが入っており、クライアントがutf-8の場合には以下のように書く必要があります

#/bin/env ruby -w -Ku
# -*- coding=utf-8 -*-
client=Mysql.connect("localhost","root","pass","dbname")
client.charset="utf8"
res=client.query("select id,name from IdTable")
res.each{|r|
p r
}