How to emit UTF-8 from console mode program?

The following perl program works when I run it from urxvt-X console on
cygwin-x windows when running on Microsoft Windows XP:

LC_CTYPE=en_US.UTF-8 urxvt-X.exe&
perl -wle “binmode STDOUT, q[:utf8]; print chr() for 0x410 … 0x430;”

This little one liner prints the Russian alphabet in Cryllic. With some
slight modification it will also print a lot of other alphabets too –
including Hebrew, chinese and japanese.

It does not work with cmd.exe because apparently cmd.exe cannot deal
with
UTF-8.

Can someone help me translate it into ruby? I would not expect it to
work
from cmd.exe with ruby, but I am hopeful it will work with urxvt-X!

Thanks,
Siegfried

Siegfried Heintze wrote:

It does not work with cmd.exe because apparently cmd.exe cannot deal with

Quick and dirty (works in Linux xterm -u, ruby 1.8.7):

ruby -Ku -e “(0x410…0x430).each {|x| puts [x].pack(‘U’)}”

The -K option is ‘u’ for setting the encoding to unicode, same as
setting ‘$KCODE=“u”’ at the beginning of the code.

Array#pack is used because for Integer.chr, 1040ff are out of range.

Hope this helps,

t.