[#45609] ruby 1.8.6のNKFにおける漢字変換の不具合について — 京和 崇行 <kyowa_t@...>

初めましてこんにちは。カカクコムの京和と申します。

14 messages 2008/11/04

[ruby-list:45609] ruby 1.8.6のNKFにおける漢字変換の不具合について

From: 京和 崇行 <kyowa_t@...>
Date: 2008-11-04 08:12:08 UTC
List: ruby-list #45609
初めましてこんにちは。カカクコムの京和と申します。

ruby 1.8.6のNKFモジュールではJIS第二水準(?)の
漢字変換に不具合があるようです。

■検証内容
◆ruby 1.8.6で文字化けする事の確認
$ echo $LANG
ja_JP.UTF-8

$ ruby --version
ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux]

$ irb
> NKF::VERSION
=> "2.0.8 (2007-01-28)"

>$KCODE='u'
>NKF.nkf "-w", "餃子"
=> "、鱧ヰュ"

◆ruby 1.8.5版のnkf.soで文字化けしない事の確認
ruby 1.8.5をmakeして出来た.ext/i686-linux/nkf.soで
既存のnkf.soを上書きコピーします。

$ irb
> NKF::VERSION
=> "2.0.7 (2006-06-13)"

> $KCODE='u'
> NKF.nkf "-w", "餃子"
=> "餃子"

他にも丼、俑、凛、巫などで確認しましたが、同様でした。

ruby 1.8.5から1.8.6のバージョンアップに伴い組み込みのnkfの
バージョンが2.0.7から2.0.8に上がっていますが、1.8.6添付のnkfの
ソース(ext/nkf/nkf-utf8)でコンパイルしたバイナリでは上記の
文字化けは起こりませんでした。

よって、rubyのラッパー側で問題がある可能性が高そうです。
ただ、diff取って眺めてみましたが、僕ではよく分かりませんでした。。

また、nkf 2.0.8はまだβのようですので、安定版のrubyでは
2.0.7にしておく方が無難かもしれないですね。
http://sourceforge.jp/projects/nkf/releases/


■参考にした文字コード表
http://ash.jp/code/unitbl22.htm

==
京和崇行
kyowa_t@kakaku.com


In This Thread

Prev Next