1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 290704 $ -->
<refentry xml:id="function.idn-to-utf8" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>idn_to_utf8</refname>
<refpurpose>Convert ASCII encoded domain name to UTF-8</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>idn_to_utf8</methodname>
<methodparam><type>string</type><parameter>ascii_domain</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">errorcode</parameter></methodparam>
</methodsynopsis>
<para>
This function converts a ASCII encoded domain name to its original UTF-8 version.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>ascii_domain</parameter></term>
<listitem>
<para>
The ASCII encoded domain name. Looks like "xn--..." if the it originally contained non-ASCII characters.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>errorcode</parameter></term>
<listitem>
<para>
Will be set to the IDNA error code.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
The UTF-8 encoded version of the domain name &return.falseforfailure;.
RFC 3490 4.2 states though "ToUnicode never fails. If any step fails, then the original input
sequence is returned immediately in that step."
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
If an error occurs &false; is returned and the optional errorcode is set.
In addition a E_WARNING message is printed.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>idn_to_utf8</function> example</title>
<para>
First a simple example and then one explaining how to catch errors (which should never happen according to the RFC).
</para>
<programlisting role="php">
<![CDATA[
<?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", $errorcode, idn_strerror($errorcode));
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
täst.de
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>utf8_decode</function></member>
<member><function>idn_strerror</function></member>
<member><function>idn_to_ascii</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|