File: idn-to-utf8.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (130 lines) | stat: -rw-r--r-- 3,366 bytes parent folder | download | duplicates (2)
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
-->