idn_to_utf8

Convert domain name from IDNA ASCII to Unicode

&reftitle.description;

&style.procedural;

``string``false```idn_to_utf8` `string` `domain` `int` `flags` `IDNA_DEFAULT` `int` `variant` `INTL_IDNA_VARIANT_UTS46` `array` `idna_info`&null;

This function converts a Unicode domain name from an IDNA ASCII-compatible format to plain Unicode, encoded in UTF-8.

&reftitle.parameters;

`domain`

- Domain to convert in an IDNA ASCII-compatible format.

`flags`

- Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).

`variant`

- Either `INTL_IDNA_VARIANT_2003` (deprecated as of PHP 7.2.0) for IDNA 2003 or `INTL_IDNA_VARIANT_UTS46` (only available as of ICU 4.6) for UTS #46.

`idna_info`

- This parameter can be used only if `INTL_IDNA_VARIANT_UTS46` was used for `variant`. In that case, it will be filled with an array with the keys `'result'`, the possibly illegal result of the transformation, `'isTransitionalDifferent'`, a boolean indicating whether the usage of the transitional mechanisms of UTS #46 either has or would have changed the result and `'errors'`, which is an `int` representing a bitset of the error constants IDNA_ERROR_*.

&reftitle.returnvalues;

The domain name in Unicode, encoded in UTF-8, &return.falseforfailure;

&reftitle.changelog;

&Version; | &Description;
7.4.0 | The default value of `variant` is now `INTL_IDNA_VARIANT_UTS46` instead of the deprecated `INTL_IDNA_VARIANT_2003`.
7.2.0 | `INTL_IDNA_VARIANT_2003` has been deprecated; use `INTL_IDNA_VARIANT_UTS46` instead.

&reftitle.examples;

### `idn_to_utf8` example

    <?php

    echo idn_to_utf8('xn--tst-qla.de');

    ?>

&example.outputs;

    täst.de

&reftitle.seealso;

- `idn_to_ascii`