[#41278] [BUG:1.9] BINARY should not be ASCII-compatible — Yugui <yugui@...>

WXVndWkbJEIkRyQ5ISMbKEIKCgo+IBskQiRHISIkKiQqJGAkTSQzJDMkXiRHJE41RE9AJEclKyVQ

15 messages 2010/05/11

[#41407] [Bug #3339] win32ole test failure — Usaku NAKAMURA <redmine@...>

Bug #3339: win32ole test failure

20 messages 2010/05/25
[#41411] Re: [Bug #3339] win32ole test failure — Masaki Suketa <masaki.suketa@...> 2010/05/25

助田です。

[#41412] Re: [Bug #3339] win32ole test failure — "U.Nakamura" <usa@...> 2010/05/25

こんにちは、なかむら(う)です。

[ruby-dev:41127] Re: Rails3 M17N

From: KUBO Takehiro <kubo@...>
Date: 2010-05-01 15:35:22 UTC
List: ruby-dev #41127
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

In This Thread