NKF

下の「オウ」は、実際にはJIS X 0213に含まれる難しい字の森鴎外のオウ。

$ echo $LANG
ja_JP.UTF-8
$ 
$ irb
irb(main):004:0* $KCODE = 'u'
=> "u"
irb(main):005:0> '森オウ外'
=> "森オウ外"
irb(main):006:0> $KCODE = 'none'
=> "none"
irb(main):007:0> '森オウ外'
=> "\346\243\256\351\267\227\345\244\226"
irb(main):008:0> NKF.nkf('-S -w', NKF.nkf('-s -W',  '森オウ外'))
=> "\346\243\256\345\244\226"
irb(main):009:0>
irb(main):010:0*
irb(main):011:0* $KCODE = 'u'
=> "u"
irb(main):012:0> NKF.nkf('-S -w', NKF.nkf('-s -W',  '森オウ外'))
=> "森外"

NKFで変換するとオウの字がごっそり抜けおちた。JIS X 0213に対応してないかららしい。
http://x0213.org/wiki/wiki.cgi?page=Ruby