Strings are not Unicode?

I am using a function to reverse a string for testing,

public inline function Reverse(text:String):String {
      var out:Array<String> = text.split("");
      return out.join("");

with the string that contains Greek characters

trace( "Test Unicode: "+tString.Reverse("Καλημέρα") );

but all I get in the console is ▒╬Β╧φ╬╝╬╖╬╗╬▒╬γ╬

is this an issue with Strings and need to do something more or with the console output?

Currently internal representation of strings in Haxe is different on different targets. Neko and native targets do not support UTF8 natively.

But you can use haxe.Utf8 and various libraries to work with Utf8 in cross-platform way.

Aww that complicates things so much. Is there an example on how to work with Utf8 and other libs to have a seamless unicode string functionality across all targets?