From: Tietew Date: 2007-03-21T20:07:55+09:00 Subject: [ruby-dev:30659] Re: Unicode対応と文字化け(Re: win32/registry wtime) win32/registry.rb を書いた Tietew です。 On Wed, 21 Mar 2007 19:08:04 +0900 In article <1174471709.591414.16328.nullmailer@x31.netlab.jp> [[ruby-dev:30658] Unicode対応と文字化け(Re: win32/registry wtime)] Yukihiro Matsumoto wrote: > |# 別件になりますがユニコード対応してないから文字化けがたまに起きますね。 > |# レジストリをダンプするプログラムを組もうとして嵌りました^^; > > ま、Unicode対応しているとうたってる言語でも文字化けは発生し > てるみたいですしね。で、今回はどのような経緯で文字化けしまし > たか。同じような問題が今後発生しないような仕組みを考えるヒン > トにしたいので、ぜひ教えてください。 今の win32/registry.rb はANSIのAPIを呼んでいるので、 カレントロケール範囲外の文字が ? に変化してしまうのだと思います。 呼ぶAPIを Unicode のものにすれば、やりとりする文字列をは UTF-16 なので、あとは変換元・先の文字エンコーディングさえ決まれば変換は それほど苦でもないかと。 あーでも mswin32 には標準で iconv.so とか付いてないんですよね。 どうしたらいいんだろう。へたな libiconv 使うと Windows-31J が使 えないし…… -- Tietew Blog: http://www.tietew.jp/ PGP: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA