This post is about IDN and browser support.

First of all, http does not support unicode :). To do unicode, they use a punycode to convert any domain name into it's ascii equivalent: for example, my domain tpî.eu is translated to

I bought this IDN domain (tpî.eu), found this idea very clever until I found out that browser support wasn't so good. It goes from no support to little issues to perfect.

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 and send you to е You did not notice any differences? Have a better look: and е . 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.

Let's start:

Firefox 19

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 :(