Fonctions idn
PHP Manual

idn_to_utf8

(PECL idn >= 0.1)

idn_to_utf8Convertit un nom de domaine ASCII en UTF-8

Description

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

idn_to_utf8() convertit un nom de domaine ASCII en une version originale UTF-8.

Liste de paramètres

ascii_domain

Le nom de domaine en ASCII. Il ressemble à "xn--..." s'il contient des caractères non ASCII.

errorcode

Recevra le code d'erreur IDNA.

Valeurs de retour

La version UTF-8 du nom de domaine, ou bien FALSE en cas d'erreur. La RFC 3490 4.2 indique que même si "ToUnicode n'échoue jamais. Si une étape échoue, alors la séquence initiale est retournée immédiatement à cette étape.".

Erreurs / Exceptions

Si une erreur survient, FALSE est retourné, et un code d'erreur optionnel est activé. De plus, une alerte E_WARNING est affichée.

Exemples

Exemple #1 Exemple avec idn_to_utf8()

Un exemple simple puis un exemple compliqué, qui montre comment intercepter les erreurs (ce qui ne devrait jamais arriver, selon la RFC).

<?php

// convertit peut-être le résultat de ISO-8859-1 avec utf8_decode()
echo idn_to_utf8("xn--tst-qla.de");

// Cela ne devrait jamais arriver, mais essayons quand même....
$utf8 idn_to_utf8("xn--tst-qla.de"$errorcode);
if (
$utf8 === false) {
    
printf("Erreur détectée %d: %s\n"$errorcodeidn_strerror($errorcode));
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

täst.de

Voir aussi


Fonctions idn
PHP Manual