Try posting code. The console is traditionally legacy 1 char per byte code page. Type "chcp" at your console to see what it is. Programs normally print legacy CP data to console, not utf8. It would look like gibberish if it was utf8 printed to console. Also you can run into truncation/substitution problems, where your non-latin letters being real 1 char 1 byte "?"s. Technically a program can print binary to the console, often done by unix-ish tools. You could also try and mark the STDIN/STDOUT as utf8, i'm not sure how successful that is on Perl Windows (worst case, console spits out legacy cp, perl coverts all the invalid utf8 character sequences to a filler characters).