Freelance PHP programmer India | Freelance web developer india | Web development India | web developer CV india | Compiling PHP and Apache 2 from source on Linux
Idn Functions
PHP Manual

idn_to_utf8

(PECL idn >= 0.1)

idn_to_utf8Convert ASCII encoded domain name to UTF-8

Description

string idn_to_utf8 ( string $ascii_domain [, int &$errorcode ] )

This function converts a ASCII encoded domain name to its original UTF-8 version.

Parameters

ascii_domain

The ASCII encoded domain name. Looks like "xn--..." if the it originally contained non-ASCII characters.

errorcode

Will be set to the IDNA error code.

Return Values

The UTF-8 encoded version of the domain name or FALSE in case of an error. RFC 3490 4.2 states though "ToUnicode never fails. If any step fails, then the original input sequence is returned immediately in that step."

Errors/Exceptions

If an error occurs FALSE is returned and the optional errorcode is set. In addition a E_WARNING message is printed.

Examples

Example #1 idn_to_utf8() example

First a simple example and then one explaining how to catch errors (which should never happen according to the RFC).

<?php

// maybe convert the result to ISO-8859-1 using utf8_decode()
echo idn_to_utf8("xn--tst-qla.de");

// Should never happen but to be sure...
$utf8 idn_to_utf8("xn--tst-qla.de"$errorcode);
if (
$utf8 === false) {
    
printf("Detected error %d: %s\n"$errorcodeidn_strerror($errorcode));
}

?>

The above example will output something similar to:

täst.de

See Also


Idn Functions
PHP Manual