This post is about IDN and browser support.
First of all, http does not support unicode :). To do unicode, they use a
Those differences can be explained because IDN is new and viewed as a potential security threat.
For example, using similar characters in ascii and unicode, one could spoof the content of ebay.com and send you to еbay.com: You did not notice any differences? Have a better look: ebay.com and еbay.com . notice the difference between e and е: the last one is a Cyrillic character. (see wikipedia about that)
To avoid that, Registar are supposed to do some similarity check and reject possible spoof. Browser on the other side also have some kind of protection which varies from one browser to another. If the check fails, you'll see safe punycode.
On Mac, .eu extension is not supposed to display IDN, so it's not part of a white list, so by default, you should see punycode. What I did was to add a key to about:config to add .eu to the white list:[EDIT fev 2017: does not work yet]
%- @getDocument().getFlickrImage('Firefox Mac About Config.png') %
And here is the result:%- @getDocument().getFlickrImage('Firefox Mac.png') %
Chrome on Android
On Android, with Chrome: it does not work and shows punycode:%- @getDocument().getFlickrImage('chrome android.png') %
Note: I wrote this article one year ago (in March 2013) and never took time to publish it :(