Welcome to pi.cr.yp.to. This page is a collection of tests for the UTF-8 domain name π.cr.yp.to. Send mail to results@pi.cr.yp.to saying how well your favorite programs work.

Note to UNIX xterm users: XFree86 4 includes Unicode fonts, and xterm now supports UTF-8. If you log in through xdm, put

     export LANG
at the top of your .xsession to turn on the UTF-8 support in xterm and several other programs. (You can use a locale other than en_US, of course, but make sure to add the UTF_8.) You may also have to change
     xterm -fn -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
if your system's fonts have not been set up correctly. Some text-mode programs need their own configuration: for example, lynx has a separate ``Display character set'' option that has to be set to UTF-8.

See Markus Kuhn's UTF-8 and Unicode FAQ for more information.

Displaying UTF-8 characters

Your browser should be able to display the Greek letter pi. Here's one pi between brackets: [π]. Here's another pi between brackets: [π].

The HTML source for the first pi is the two-byte UTF-8 sequence \317\200; the head of this page says

   <meta http-equiv="content-type" content="text/html; charset=utf-8">
to specify UTF-8 as the character set. The HTML source for the second pi is &#960.

If you see a double-dotted I and a block (or Euro) instead of a pi, your browser (or terminal) is misinterpreting bytes as ISO 8859-1 instead of UTF-8.

Similarly, you should be able to paste the address bounce@π.cr.yp.to into your mail client, and compose mail involving that address, with the pi visible everywhere.

Summary of results reported so far:
CDE MailSolaris 8Bad displays, 8859-1 everywhere
KMail 1.2LinuxBad displays, 8859-1 everywhere
Netscape 4.75MacOS 8.5Mostly correct displays; 8859-1 in location bar
Netscape 4.75Digital UNIX 4.0dMostly correct displays; 8859-1 in location bar
Netscape 4.78Win98Mostly correct displays; 8859-1 in location bar
Eudora 5.1WinMEBad displays, 8859-1 everywhere
Explorer 5MacOS 8.5Mostly correct displays; 8859-1 in location bar and input bar
Opera 5.00LinuxBad displays
Opera 5.12Win98Bad displays
Opera 5.12Win2000Bad displays

Following UTF-8 links

Your browser should be able to follow links to a host name that uses the UTF-8 pi: http://π.cr.yp.to and http://π.cr.yp.to/index.html. This name exists in DNS and has a web page.

Your browser should also be able to follow links to a host name that uses the &#960 pi, by converting &#960 to UTF-8: http://π.cr.yp.to and http://π.cr.yp.to/index.html.

Summary of results reported so far:
links 0.95Solaris 6Failure: BIND bug
lynx 2.8.3rel.1Solaris 6Failure: BIND bug
Netscape 4.75MacOS 8.5Success
Netscape 4.75Solaris 6Failure: BIND bug
Netscape 4.75Solaris 8Failure: BIND bug
Netscape 4.75Digital UNIX 4.0dSuccess
Netscape 4.77LinuxFailure: BIND bug
Netscape 4.78Win98Success
Netscape 4.78Win2000P SP2Failure: internal bug?
Mozilla 2001062815Win98Failure: internal bug?
Explorer 5MacOS 8.5Success
Explorer 5.1MacOS XSuccess
Explorer 5.50Win98Failure: \357 bug
Explorer 5.50Win2000Failure: \357 bug
Explorer 5.50Win2000P SP2Failure: \303 bug
Konqueror 2.1.1LinuxFailure: internal bug?
Opera 5.12Win98Failure: internal bug?
Opera 5.12Win2000Failure: internal bug?
My DNS logs show the following queries:

  24 \317\200.cr.yp.to (correct)
   4 \045cf\04580.cr.yp.to (% encoding, not valid in DNS)
   4 \357\200.cr.yp.to (IE \357 bug)
   6 \303\257\342\202\254.cr.yp.to (IE \303 bug)
   2 \357\276\217\302\200.cr.yp.to (huh?)
   1 \201.cr.yp.to (huh?)

The following bug needs to be fixed: The UNIX BIND gethostbyname/res_*/dn_* client library deliberately rejects names with non-ASCII characters. Impact of this bug: Programs using the BIND client library incorrectly believe that π.cr.yp.to doesn't exist.

With some BIND versions you can work around this by putting

     options allow_special all
     options no-check-names
into /etc/resolv.conf. I've asked the BIND company to make this the default, but they've refused; apparently they don't care about international users.

In contrast, my djbdns client library has no problems with non-ASCII characters.

Sending mail to UTF-8 names

Your mail software should be able to send mail to bounce@π.cr.yp.to. You will receive a failure notice from muncher.math.uic.edu showing the exact contents of your mail as received by my mail server.

You can also try djb-pibounce-π@cr.yp.to. This avoids DNS issues, such as the BIND bug described above.

Summary of MUA results reported so far:
VM 6.43LinuxSuccess
CDE MailSolaris 8Unclear report: success?
Netscape 4.75MacOS 8.5Unclear report: success?
Netscape 4.76LinuxSuccess
KMail 1.2LinuxUnclear report: success?
MozillaWindowsFailure: converts address to quoted-printable
Eudora 5.1WindowsSuccess
Outlook Express 5MacOS 8.5Failure: name rejected internally
Outlook Express 5WindowsFailure: converts \317\200 to ASCII p when address is pasted
Summary of MTA results reported so far: Postfix works. qmail works. Sendmail fails. Exim fails.

The following bug needs to be fixed: The UNIX sendmail program throws away bytes \200 through \237 on input, because it uses those bytes for internal macros. Impact of this bug: sendmail will corrupt the address, changing \317\200 to \317.

I suggested to Eric Allman in February 1999 that he convert \200 to \377\240, ..., \237 to \377\277, and \377 to \377\377, and do the opposite conversion on output. He ignored the suggestion. Apparently, like the BIND company, he doesn't care about international users.

The server side: DNS

I created MX and A records for π.cr.yp.to by adding
to /etc/tinydns/root/data. My DNS software, djbdns, handles UTF-8 names without trouble.

Your DNS software should let you create UTF-8 domain names.

The server side: mail

I accepted mail for π.cr.yp.to by adding
to /var/qmail/control/rcpthosts. I directed the mail appropriately by adding a similar entry to /var/qmail/control/virtualdomains. My mail software, qmail, handles UTF-8 names without trouble.

Your MTA should let you accept mail for UTF-8 domain names.