なかだです。 At Tue, 11 Nov 2003 04:09:23 +0900, T.Fukagawa wrote: > Solaris(SJIS) と IBM AS400(EBCDIC) とで、ファイルの送受信をすることに > なり、SJIS->EBCDIC / EBCDIC->SJIS のコード変換が必要になりました。 > google で調べた感じでは、rgettext を使用すればできそうな記述がありまし > たので、ruby-gettext-package-0.5.1.tar.gz をインストールしましたが、以 > 下のようなエラーになってしまいました。 その記述というのはどういうものでしょうか。たしかruby-gettext自 体にはコード変換の機能はないはずです。 それはそれとして、 > /cygdrive/f/ruby/ruby-gettext-package-0.5.1/lib/gettext/locale_win32.rb:17:in `__get': undefined local variable or method `__locale_id' for Locale:Module (NameError) ext/gettext/gettext/_locale.cでは、HAVE_WINDOWS_Hのときに Locale#locale_idは定義されていますが、__locale_idというのはあり ません。これはruby-gettextのバグだと思われます。 # rb_ary_new3(2,x,y)よりもrb_assoc_new(x,y)のほうがいいかも。 > Unix / Windows 系が主だったので、EBCDIC のコードはまだよくわかっていま > せん。どこかに、EBCDIC<->SJIS のコード変換のサンプルが公開されていませ > んか。 EBCDICとASCII(およびそれをベースとしたSJIS)間の変換は、テーブル を使う方法以外はないはずです。 どうもCygwinのiconvは、1.9.1でもEBCDIGには対応してないっぽいで すが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦