成瀬です。

(2010/05/02 0:35), KUBO Takehiro wrote:
> 2010/4/30 NARUSE, Yui<naruse / airemix.jp>:
>> # MySQL とか Oracle とかはどうなんだっけ?
> 
> Oracle に関していうと、るびまの「Ruby M17N の設計と実装」の IO の章(*1)
> を参考にした実装になっています。
> 
> Oracle の NLS_LANG と ruby のエンコーディングの対応表(*2)を引いて、
> Oracle 側のエンコーディング(外部エンコーディングに対応)を決めて、
> 
> 1. ruby の String を Oracle の関数に渡すとき
> 
> ruby の String のエンコーディングを Oracle 側のエンコーディングに変換
> してから Oracle の関数に渡す。ただし、RAW 型、BLOB 型のときは、エンコー
> ディングの変換は行なわない。
> 
> 2. Oracle から取得した文字列を ruby に返すとき
> 
> 内部エンコーディングが設定されてないときは、Oracle 側のエンコーディン
> グを文字列に設定する。内部エンコーディングが設定されているときは、
> Oracle 側のエンコーディングから内部エンコーディングに変換した上で ruby
> 側に返す。ただし、RAW 型、BLOB 型のときは内部エンコーディングの値にか
> かわらず無条件にASCII-8BIT を設定し、文字コードの変換は行わない。
> 
> *1 http://jp.rubyist.net/magazine/?0025-Ruby19_m17n#l63
> *2 http://ruby-oci8.rubyforge.org/svn/trunk/ruby-oci8/lib/oci8/encoding.yml

なるほど、正しいと思います。
情報ありがとうございます。

-- 
NARUSE, Yui  <naruse / airemix.jp>