title: Does any language do Unicode and cross-platform properly and fully?
body: <p>I've used a good few programming languages over the years and I'm an armchair linguist and contributor to Wiktionary. I've been making some of my own tools to look up Wiktionary from the commandline but I've run into a surprising problem.</p>
  
  <p><a href="https://stackoverflow.com/questions/4942305/why-dont-scripting-languages-output-unicode-to-the-windows-console">Neither Perl nor Python can output Unicode to the console natively under both *nix and Windows</a> (though there are various workarounds). The main reason is that *nix OSes like their Unicode in UTF-8 and Windows likes its Unicode in UTF-16. But it also seems that <a href="http://blog.kalmbachnet.de/?postid=23" rel="nofollow noreferrer">Windows makes it very difficult to use wide characters with the console even though both the console and wprintf are wide character native</a>.</p>
  
  <p>So the question is, is the situation any better if I look beyond these languages into Java, C#, Scala, etc. Or are there any scripting languages which started out on Windows and were then ported to *nix?</p>
  
  <p>Here is some ideal pseudocode:</p>
  
  <pre><code>function main()
  {
      print( L"hello, 世界" );
  }
  </code></pre>