マルチバイトの全角半角変換について

最初は下記の内容で、全角半角を変換しようと思ったが、失敗した。

require 'kconv'
str = 'abcあいうえお'
str = str.tr('a-zA-Z', 'a-zA-Z')
print str.tosjis

しかし、結果は文字化けしてしまう。
下記のサイトを参考にしたおかげで、変換できた。

$KCODE='u'
require 'kconv'
require 'jcode'
str = 'abcあいうえお'
str = str.tr('a-zA-Z', 'a-zA-Z')
print str.kconv(Kconv::SJIS, Kconv::UTF8)

ポイント

参考

Ruby はもう少しドキュメントがしっかりしていれば…

最初に参考にしたところは下記のサイト。