From: "とみたまさひろ" Date: 2010-05-05T10:03:58+09:00 Subject: [ruby-dev:41156] Re: Rails3 M17N とみたです。 On Fri, 30 Apr 2010 18:20:22 +0900 "NARUSE, Yui" wrote: > # MySQL とか Oracle とかはどうなんだっけ? pure Ruby 版の MySQL は次のように動きます。 # C版 MySQL は ASCII-8BIT。 1. Ruby から MySQL に文字列を渡す場合 ASCII-8BIT 以外の文字列は MySQL 接続の charset に変換して渡します。 ASCII-8BIT は変換せずにそのまま渡します。 2. MySQL から文字列を取り出す場合 バイナリ以外の文字列は MySQL 接続の charset に対応する encoding として 文字列を取り出します。バイナリ文字列は ASCII-8BIT として取り出します。 MySQL はサーバー側でカラムの charset から接続用の charset に変換するの で、取り出される文字列の encoding はカラムの charset によらず、接続用 charset に対応する encoding になります。 Ruby encoding と MySQL charset の変換表は内部で持ってます。 http://github.com/tmtm/ruby-mysql/blob/2.9/lib/mysql/charset.rb の CHARSET_ENCODING -- とみたまさひろ 3469 42CC 4D32 F53C AD98 65A5 8C37 FF09 69C1 6040