rubyで半角カタカナを全角にする

NKFを使えばできる。

UTF-8には対応していないのかなぁなどと勝手に思っていたら、そんなことはなかったです。

標準添付ライブラリ紹介 【第 3 回】 Kconv/NKF/Iconv

ここに細かいオプションが書いてあります。
UTF-8で入力する場合には ‘-W’
UTF-8で出力する場合には ‘-w’
半角カタカナを全角にするには ‘-X’(デフォルトらしいのでつけなくても変換されるようですが)
MIME encodeをしないので ‘-m0’

ということで、たとえばこんな感じになります。

#!/usr/bin/ruby -Ku
require 'nkf'
p NKF::nkf('-WwX -m0', 'テストだよ。')