*** empty log message ***
[libidn.git] / contrib / web / idn.php
blob249f47e63fbf9917ba58e75418fb9adf5f7b1913
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2 <?php
3 if (!$charset) {
4 $data = "räksmörgås.josefßon.org";
5 $charset = "UTF-8";
6 } ?>
7 <html>
8 <head>
9 <meta http-equiv="Content-Type" content="text/html; charset=<?php print $charset ?>">
10 <title>Try GNU Libidn</title>
11 </head>
13 <body>
15 <h1>Try GNU Libidn</h1>
17 <p>This page allows you to try the string preparation, punycode
18 encode/decode and ToASCII/ToUnicode operations of <a
19 href="http://www.gnu.org/software/libidn/">GNU Libidn</a>. If you
20 encounter a problem with this page, report a thorough analyse of
21 it to <A HREF="mailto:bug-libidn@gnu.org">bug-libidn@gnu.org</A>.
23 <?php if (!$lastcharset && !$mode) { ?>
25 <p>Free shrimp sandwiches are <a
26 href="http://xn--rksmrgs-5wao1o.josefsson.org/">served over
27 here</a>.
29 <p>This page ignores any Accept-Charset headers sent by your
30 browser. Instead, the Unicode repertoire encoded as UTF-8 is
31 used. If you are using software that cannot handle this, you must
32 select another MIME charset below. BIG5, ISO-2022-JP-2,
33 ISO-8859-1, and KOI-8 are popular choices. I am sorry for the
34 inconvenience.
36 <?php } ?>
38 <hr>
39 <h2>Input</h2>
40 <form>
42 <p>The following string must only contain characters that your
43 browser is able to represent in <?php print $charset; ?> when
44 submitting this form. If you wish to use another charset you
45 must select it below, submit the form and wait for a new page to
46 load, and then enter your string.<br>
48 <input type=text name=data size=40 value="<?php print $data ?>"><br>
50 <input type=radio name=mode value=stringprep <?php if ($mode == "stringprep") { print "checked"; } ?>>Prepare string using profile:
52 <select name=profile>
53 <option <?php if ($profile == "Nameprep" || !$profile) { print "selected"; } ?>>Nameprep
54 <option <?php if ($profile == "KRBprep") { print "selected"; } ?>>KRBprep
55 <option <?php if ($profile == "Nodeprep") { print "selected"; } ?>>Nodeprep
56 <option <?php if ($profile == "Resourceprep") { print "selected"; } ?>>Resourceprep
57 <option <?php if ($profile == "plain") { print "selected"; } ?>>plain
58 <option <?php if ($profile == "trace") { print "selected"; } ?>>trace
59 <option <?php if ($profile == "SASLprep") { print "selected"; } ?>>SASLprep
60 <option <?php if ($profile == "ISCSIprep") { print "selected"; } ?>>ISCSIprep
61 </select><br>
63 <input type=radio name=mode value=punyencode <?php if ($mode == "punyencode") { print "checked"; } ?>>Punycode encode<br>
64 <input type=radio name=mode value=punydecode <?php if ($mode == "punydecode") { print "checked"; } ?>> Punycode decode<br>
66 <input type=radio name=mode value=toascii <?php if ($mode == "toascii" || !$mode) { print "checked"; } ?>>IDNA ToASCII<br>
67 <input type=radio name=mode value=tounicode <?php if ($mode == "tounicode") { print "checked"; } ?>>IDNA ToUnicode<br>
69 <input type=checkbox name=allowunassigned <?php if ($allowunassigned) { print "checked"; } ?>>Allow Unassigned<br>
70 <input type=checkbox name=usestd3asciirules <?php if ($usestd3asciirules) { print "checked"; } ?>>UseSTD3ASCIIRules<br>
71 <input type=checkbox name=debug <?php if ($debug) { print "checked"; } ?>>Debug<br>
73 Change MIME charset of page to: <select name=charset>
75 <option <?php if ($charset == "ASCII") { print "selected"; } ?>>ASCII
76 <option <?php if ($charset == "ASMO_449") { print "selected"; } ?>>ASMO_449
77 <option <?php if ($charset == "BIG5") { print "selected"; } ?>>BIG5
78 <option <?php if ($charset == "BIG5HKSCS") { print "selected"; } ?>>BIG5HKSCS
79 <option <?php if ($charset == "BS_4730") { print "selected"; } ?>>BS_4730
80 <option <?php if ($charset == "CP10007") { print "selected"; } ?>>CP10007
81 <option <?php if ($charset == "CP1250") { print "selected"; } ?>>CP1250
82 <option <?php if ($charset == "CP1251") { print "selected"; } ?>>CP1251
83 <option <?php if ($charset == "CP1252") { print "selected"; } ?>>CP1252
84 <option <?php if ($charset == "CP1253") { print "selected"; } ?>>CP1253
85 <option <?php if ($charset == "CP1254") { print "selected"; } ?>>CP1254
86 <option <?php if ($charset == "CP1255") { print "selected"; } ?>>CP1255
87 <option <?php if ($charset == "CP1256") { print "selected"; } ?>>CP1256
88 <option <?php if ($charset == "CP1257") { print "selected"; } ?>>CP1257
89 <option <?php if ($charset == "CP1258") { print "selected"; } ?>>CP1258
90 <option <?php if ($charset == "CP737") { print "selected"; } ?>>CP737
91 <option <?php if ($charset == "CP775") { print "selected"; } ?>>CP775
92 <option <?php if ($charset == "CSA_Z243.4-1985-1") { print "selected"; } ?>>CSA_Z243.4-1985-1
93 <option <?php if ($charset == "CSA_Z243.4-1985-2") { print "selected"; } ?>>CSA_Z243.4-1985-2
94 <option <?php if ($charset == "CSN_369103") { print "selected"; } ?>>CSN_369103
95 <option <?php if ($charset == "CWI") { print "selected"; } ?>>CWI
96 <option <?php if ($charset == "DEC-MCS") { print "selected"; } ?>>DEC-MCS
97 <option <?php if ($charset == "DIN_66003") { print "selected"; } ?>>DIN_66003
98 <option <?php if ($charset == "DS_2089") { print "selected"; } ?>>DS_2089
99 <option <?php if ($charset == "ECMA-CYRILLIC") { print "selected"; } ?>>ECMA-CYRILLIC
100 <option <?php if ($charset == "ES") { print "selected"; } ?>>ES
101 <option <?php if ($charset == "ES2") { print "selected"; } ?>>ES2
102 <option <?php if ($charset == "EUC-CN") { print "selected"; } ?>>EUC-CN
103 <option <?php if ($charset == "EUC-JP") { print "selected"; } ?>>EUC-JP
104 <option <?php if ($charset == "EUC-KR") { print "selected"; } ?>>EUC-KR
105 <option <?php if ($charset == "EUC-TW") { print "selected"; } ?>>EUC-TW
106 <option <?php if ($charset == "GB18030") { print "selected"; } ?>>GB18030
107 <option <?php if ($charset == "GB_1988-80") { print "selected"; } ?>>GB_1988-80
108 <option <?php if ($charset == "GBK") { print "selected"; } ?>>GBK
109 <option <?php if ($charset == "GEORGIAN-ACADEMY") { print "selected"; } ?>>GEORGIAN-ACADEMY
110 <option <?php if ($charset == "GEORGIAN-PS") { print "selected"; } ?>>GEORGIAN-PS
111 <option <?php if ($charset == "GOST_19768-74") { print "selected"; } ?>>GOST_19768-74
112 <option <?php if ($charset == "GREEK7") { print "selected"; } ?>>GREEK7
113 <option <?php if ($charset == "GREEK7-OLD") { print "selected"; } ?>>GREEK7-OLD
114 <option <?php if ($charset == "GREEK-CCITT") { print "selected"; } ?>>GREEK-CCITT
115 <option <?php if ($charset == "HP-ROMAN8") { print "selected"; } ?>>HP-ROMAN8
116 <option <?php if ($charset == "IBM037") { print "selected"; } ?>>IBM037
117 <option <?php if ($charset == "IBM038") { print "selected"; } ?>>IBM038
118 <option <?php if ($charset == "IBM1004") { print "selected"; } ?>>IBM1004
119 <option <?php if ($charset == "IBM1026") { print "selected"; } ?>>IBM1026
120 <option <?php if ($charset == "IBM1046") { print "selected"; } ?>>IBM1046
121 <option <?php if ($charset == "IBM1047") { print "selected"; } ?>>IBM1047
122 <option <?php if ($charset == "IBM1124") { print "selected"; } ?>>IBM1124
123 <option <?php if ($charset == "IBM1129") { print "selected"; } ?>>IBM1129
124 <option <?php if ($charset == "IBM1160") { print "selected"; } ?>>IBM1160
125 <option <?php if ($charset == "IBM1161") { print "selected"; } ?>>IBM1161
126 <option <?php if ($charset == "IBM256") { print "selected"; } ?>>IBM256
127 <option <?php if ($charset == "IBM273") { print "selected"; } ?>>IBM273
128 <option <?php if ($charset == "IBM274") { print "selected"; } ?>>IBM274
129 <option <?php if ($charset == "IBM275") { print "selected"; } ?>>IBM275
130 <option <?php if ($charset == "IBM277") { print "selected"; } ?>>IBM277
131 <option <?php if ($charset == "IBM278") { print "selected"; } ?>>IBM278
132 <option <?php if ($charset == "IBM280") { print "selected"; } ?>>IBM280
133 <option <?php if ($charset == "IBM281") { print "selected"; } ?>>IBM281
134 <option <?php if ($charset == "IBM284") { print "selected"; } ?>>IBM284
135 <option <?php if ($charset == "IBM285") { print "selected"; } ?>>IBM285
136 <option <?php if ($charset == "IBM290") { print "selected"; } ?>>IBM290
137 <option <?php if ($charset == "IBM297") { print "selected"; } ?>>IBM297
138 <option <?php if ($charset == "IBM420") { print "selected"; } ?>>IBM420
139 <option <?php if ($charset == "IBM423") { print "selected"; } ?>>IBM423
140 <option <?php if ($charset == "IBM424") { print "selected"; } ?>>IBM424
141 <option <?php if ($charset == "IBM437") { print "selected"; } ?>>IBM437
142 <option <?php if ($charset == "IBM500") { print "selected"; } ?>>IBM500
143 <option <?php if ($charset == "IBM850") { print "selected"; } ?>>IBM850
144 <option <?php if ($charset == "IBM851") { print "selected"; } ?>>IBM851
145 <option <?php if ($charset == "IBM852") { print "selected"; } ?>>IBM852
146 <option <?php if ($charset == "IBM855") { print "selected"; } ?>>IBM855
147 <option <?php if ($charset == "IBM856") { print "selected"; } ?>>IBM856
148 <option <?php if ($charset == "IBM857") { print "selected"; } ?>>IBM857
149 <option <?php if ($charset == "IBM860") { print "selected"; } ?>>IBM860
150 <option <?php if ($charset == "IBM861") { print "selected"; } ?>>IBM861
151 <option <?php if ($charset == "IBM862") { print "selected"; } ?>>IBM862
152 <option <?php if ($charset == "IBM863") { print "selected"; } ?>>IBM863
153 <option <?php if ($charset == "IBM864") { print "selected"; } ?>>IBM864
154 <option <?php if ($charset == "IBM865") { print "selected"; } ?>>IBM865
155 <option <?php if ($charset == "IBM866") { print "selected"; } ?>>IBM866
156 <option <?php if ($charset == "IBM868") { print "selected"; } ?>>IBM868
157 <option <?php if ($charset == "IBM869") { print "selected"; } ?>>IBM869
158 <option <?php if ($charset == "IBM870") { print "selected"; } ?>>IBM870
159 <option <?php if ($charset == "IBM871") { print "selected"; } ?>>IBM871
160 <option <?php if ($charset == "IBM874") { print "selected"; } ?>>IBM874
161 <option <?php if ($charset == "IBM875") { print "selected"; } ?>>IBM875
162 <option <?php if ($charset == "IBM880") { print "selected"; } ?>>IBM880
163 <option <?php if ($charset == "IBM891") { print "selected"; } ?>>IBM891
164 <option <?php if ($charset == "IBM903") { print "selected"; } ?>>IBM903
165 <option <?php if ($charset == "IBM904") { print "selected"; } ?>>IBM904
166 <option <?php if ($charset == "IBM905") { print "selected"; } ?>>IBM905
167 <option <?php if ($charset == "IBM918") { print "selected"; } ?>>IBM918
168 <option <?php if ($charset == "IBM922") { print "selected"; } ?>>IBM922
169 <option <?php if ($charset == "IBM930") { print "selected"; } ?>>IBM930
170 <option <?php if ($charset == "IBM932") { print "selected"; } ?>>IBM932
171 <option <?php if ($charset == "IBM933") { print "selected"; } ?>>IBM933
172 <option <?php if ($charset == "IBM935") { print "selected"; } ?>>IBM935
173 <option <?php if ($charset == "IBM937") { print "selected"; } ?>>IBM937
174 <option <?php if ($charset == "IBM939") { print "selected"; } ?>>IBM939
175 <option <?php if ($charset == "IBM943") { print "selected"; } ?>>IBM943
176 <option <?php if ($charset == "IEC_P27-1") { print "selected"; } ?>>IEC_P27-1
177 <option <?php if ($charset == "INIS") { print "selected"; } ?>>INIS
178 <option <?php if ($charset == "INIS-8") { print "selected"; } ?>>INIS-8
179 <option <?php if ($charset == "INIS-CYRILLIC") { print "selected"; } ?>>INIS-CYRILLIC
180 <option <?php if ($charset == "ISIRI-3342") { print "selected"; } ?>>ISIRI-3342
181 <option <?php if ($charset == "ISO_10367-BOX") { print "selected"; } ?>>ISO_10367-BOX
182 <option <?php if ($charset == "ISO-2022-CN") { print "selected"; } ?>>ISO-2022-CN
183 <option <?php if ($charset == "ISO-2022-CN-EXT") { print "selected"; } ?>>ISO-2022-CN-EXT
184 <option <?php if ($charset == "ISO-2022-JP") { print "selected"; } ?>>ISO-2022-JP
185 <option <?php if ($charset == "ISO-2022-JP-2") { print "selected"; } ?>>ISO-2022-JP-2
186 <option <?php if ($charset == "ISO-2022-KR") { print "selected"; } ?>>ISO-2022-KR
187 <option <?php if ($charset == "ISO_2033") { print "selected"; } ?>>ISO_2033
188 <option <?php if ($charset == "ISO_5427") { print "selected"; } ?>>ISO_5427
189 <option <?php if ($charset == "ISO_5427-EXT") { print "selected"; } ?>>ISO_5427-EXT
190 <option <?php if ($charset == "ISO_5428") { print "selected"; } ?>>ISO_5428
191 <option <?php if ($charset == "ISO_6937") { print "selected"; } ?>>ISO_6937
192 <option <?php if ($charset == "ISO_6937-2") { print "selected"; } ?>>ISO_6937-2
193 <option <?php if ($charset == "ISO-8859-1") { print "selected"; } ?>>ISO-8859-1
194 <option <?php if ($charset == "ISO-8859-10") { print "selected"; } ?>>ISO-8859-10
195 <option <?php if ($charset == "ISO-8859-11") { print "selected"; } ?>>ISO-8859-11
196 <option <?php if ($charset == "ISO-8859-13") { print "selected"; } ?>>ISO-8859-13
197 <option <?php if ($charset == "ISO-8859-14") { print "selected"; } ?>>ISO-8859-14
198 <option <?php if ($charset == "ISO-8859-15") { print "selected"; } ?>>ISO-8859-15
199 <option <?php if ($charset == "ISO-8859-16") { print "selected"; } ?>>ISO-8859-16
200 <option <?php if ($charset == "ISO-8859-2") { print "selected"; } ?>>ISO-8859-2
201 <option <?php if ($charset == "ISO-8859-3") { print "selected"; } ?>>ISO-8859-3
202 <option <?php if ($charset == "ISO-8859-4") { print "selected"; } ?>>ISO-8859-4
203 <option <?php if ($charset == "ISO-8859-5") { print "selected"; } ?>>ISO-8859-5
204 <option <?php if ($charset == "ISO-8859-6") { print "selected"; } ?>>ISO-8859-6
205 <option <?php if ($charset == "ISO-8859-7") { print "selected"; } ?>>ISO-8859-7
206 <option <?php if ($charset == "ISO-8859-8") { print "selected"; } ?>>ISO-8859-8
207 <option <?php if ($charset == "ISO-8859-9") { print "selected"; } ?>>ISO-8859-9
208 <option <?php if ($charset == "ISO-IR-197") { print "selected"; } ?>>ISO-IR-197
209 <option <?php if ($charset == "ISO-IR-209") { print "selected"; } ?>>ISO-IR-209
210 <option <?php if ($charset == "IT") { print "selected"; } ?>>IT
211 <option <?php if ($charset == "JIS_C6220-1969-RO") { print "selected"; } ?>>JIS_C6220-1969-RO
212 <option <?php if ($charset == "JIS_C6229-1984-B") { print "selected"; } ?>>JIS_C6229-1984-B
213 <option <?php if ($charset == "JOHAB") { print "selected"; } ?>>JOHAB
214 <option <?php if ($charset == "JUS_I.B1.002") { print "selected"; } ?>>JUS_I.B1.002
215 <option <?php if ($charset == "KOI-8") { print "selected"; } ?>>KOI-8
216 <option <?php if ($charset == "KOI8-R") { print "selected"; } ?>>KOI8-R
217 <option <?php if ($charset == "KOI8-T") { print "selected"; } ?>>KOI8-T
218 <option <?php if ($charset == "KOI8-U") { print "selected"; } ?>>KOI8-U
219 <option <?php if ($charset == "KSC5636") { print "selected"; } ?>>KSC5636
220 <option <?php if ($charset == "LATIN-GREEK") { print "selected"; } ?>>LATIN-GREEK
221 <option <?php if ($charset == "LATIN-GREEK-1") { print "selected"; } ?>>LATIN-GREEK-1
222 <option <?php if ($charset == "MACINTOSH") { print "selected"; } ?>>MACINTOSH
223 <option <?php if ($charset == "MAC-IS") { print "selected"; } ?>>MAC-IS
224 <option <?php if ($charset == "MAC-SAMI") { print "selected"; } ?>>MAC-SAMI
225 <option <?php if ($charset == "MAC-UK") { print "selected"; } ?>>MAC-UK
226 <option <?php if ($charset == "MSZ_7795.3") { print "selected"; } ?>>MSZ_7795.3
227 <option <?php if ($charset == "NATS-DANO") { print "selected"; } ?>>NATS-DANO
228 <option <?php if ($charset == "NATS-SEFI") { print "selected"; } ?>>NATS-SEFI
229 <option <?php if ($charset == "NC_NC00-10") { print "selected"; } ?>>NC_NC00-10
230 <option <?php if ($charset == "NF_Z_62-010") { print "selected"; } ?>>NF_Z_62-010
231 <option <?php if ($charset == "NF_Z_62-010_1973") { print "selected"; } ?>>NF_Z_62-010_1973
232 <option <?php if ($charset == "NS_4551-1") { print "selected"; } ?>>NS_4551-1
233 <option <?php if ($charset == "NS_4551-2") { print "selected"; } ?>>NS_4551-2
234 <option <?php if ($charset == "PT") { print "selected"; } ?>>PT
235 <option <?php if ($charset == "PT2") { print "selected"; } ?>>PT2
236 <option <?php if ($charset == "SEN_850200_B") { print "selected"; } ?>>SEN_850200_B
237 <option <?php if ($charset == "SEN_850200_C") { print "selected"; } ?>>SEN_850200_C
238 <option <?php if ($charset == "SJIS") { print "selected"; } ?>>SJIS
239 <option <?php if ($charset == "T.61-8BIT") { print "selected"; } ?>>T.61-8BIT
240 <option <?php if ($charset == "TIS-620") { print "selected"; } ?>>TIS-620
241 <option <?php if ($charset == "UHC") { print "selected"; } ?>>UHC
242 <option <?php if ($charset == "UTF-8") { print "selected"; } ?>>UTF-8
243 <option <?php if ($charset == "UTF-7") { print "selected"; } ?>>UTF-7
244 <option <?php if ($charset == "VISCII") { print "selected"; } ?>>VISCII
245 <option <?php if ($charset == "WIN-SAMI-2") { print "selected"; } ?>>WIN-SAMI-2
247 </select><br>
249 <input type=hidden name="lastcharset" value="<?php print $charset; ?>">
250 <input type=submit><br>
251 </form>
253 <hr>
254 <h2>Output</h2>
256 <pre>
257 <?php
258 print "$ CHARSET=" . escapeshellarg($charset) . "; export CHARSET\n";
259 putenv("CHARSET=" . escapeshellarg($charset));
260 $cmd = "echo " . escapeshellarg($data) . " | /usr/local/bin/idn" . ($debug ? " --debug" : "") . ($allowunassigned ? " --allow-unassigned" : "") . ($usestd3asciirules ? " --usestd3asciirules" : "") . ($mode == "stringprep" ? " --stringprep" : "") . ($mode == "stringprep" ? " --profile " . escapeshellarg($profile) : "") . ($mode == "punydecode" ? " --punycode-decode" : "") . ($mode == "punyencode" ? " --punycode-encode" : "") . ($mode == "toascii" || !$mode ? " --idna-to-ascii" : "") . ($mode == "tounicode" ? " --idna-to-unicode" : "") . " 2>&1";
261 $h = popen($cmd, "r");
262 while($s = fgets($h, 1024)) { $out .= $s; };
263 pclose($h);
264 print "$ $cmd\n";
265 print $out;
266 print "$ \n";
268 </pre>
269 <hr>
270 <h2>Examples</h2>
272 <ul>
273 <li><a href="http://josefsson.org/idn.php?data=r%E4ksm%F6rg%E5s.josefsson.org&amp;mode=toascii&amp;charset=ISO-8859-1">ISO-8859-1 example</a>
274 <li><a href="http://josefsson.org/idn.php?data=r%84ksm%94rg%86s.josefsson.org&amp;mode=toascii&amp;charset=IBM850">IBM850 (aka codepage 850) example (same as previous)</a>
275 <li><a href="http://josefsson.org/idn.php?data=r%C8aksm%C8org%CAas.josefsson.org&amp;mode=toascii&amp;charset=T.61-8BIT">T.61-8BIT example (same as previous)</a>
276 <li><a href="http://josefsson.org/idn.php?data=%E2%82%ACcu&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Euro example</a>
277 <li><a href="http://josefsson.org/idn.php?data=%A4cu&amp;mode=toascii&amp;charset=ISO-8859-15">ISO-8859-15 Euro example (same as previous)</a>
278 <li><a href="http://josefsson.org/idn.php?data=%B0%C2%BC%BC%C6%E0%C8%FE%B7%C3-with-SUPER-MONKEYS&amp;mode=toascii&amp;charset=EUC-JP">EUC-JP example</a>
279 <li><a href="http://josefsson.org/idn.php?data=%B9%CC%BC%FA&amp;mode=toascii&amp;charset=EUC-KR">EUC-KR example</a>
280 <li><a href="http://josefsson.org/idn.php?data=%D9%84%D9%8A%D9%87%D9%85%D8%A7%D8%A8%D8%AA%D9%83%D9%84%D9%85%D9%88%D8%B4%D8%B9%D8%B1%D8%A8%D9%8A%D8%9F&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Arabic (Egyptian)</a>
281 <li><a href="http://josefsson.org/idn.php?data=%E4%BB%96%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%AF%B4%E4%B8%AD%E6%96%87&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Simplified Chinese</a>
282 <li><a href="http://josefsson.org/idn.php?data=%CB%FB%C3%C7%CE%AA%CA%B2%C3%B4%B2%BB%CB%B5%D6%D0%CE%C4&amp;mode=toascii&amp;charset=GB18030">GB18030 Simplified Chinese (same as previous)</a>
283 <li><a href="http://josefsson.org/idn.php?data=%D7%9C%D7%9E%D7%94%D7%94%D7%9D%D7%A4%D7%A9%D7%95%D7%98%D7%9C%D7%90%D7%9E%D7%93%D7%91%D7%A8%D7%99%D7%9D%D7%A2%D7%91%D7%A8%D7%99%D7%AA&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Hebrew</a>
284 <li><a href="http://josefsson.org/idn.php?data=%EC%EE%E4%E4%ED%F4%F9%E5%E8%EC%E0%EE%E3%E1%F8%E9%ED%F2%E1%F8%E9%FA&amp;mode=toascii&amp;charset=ISO-8859-8">ISO-8859-8 Hebrew (same as previous)</a>
285 <li><a href="http://josefsson.org/idn.php?data=%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83%D0%B6%D0%B5%D0%BE%D0%BD%D0%B8%D0%BD%D0%B5%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D1%8F%D1%82%D0%BF%D0%BE%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Russian (Cyrillic)</a>
286 <li><a href="http://josefsson.org/idn.php?data=%D0%CF%DE%C5%CD%D5%D6%C5%CF%CE%C9%CE%C5%C7%CF%D7%CF%D2%D1%D4%D0%CF%D2%D5%D3%D3%CB%C9&amp;mode=toascii&amp;charset=KOI8-R">KOI8-R Russian Cyrillic (same as previous)</a>
287 <li><a href="http://josefsson.org/idn.php?data=%D0%CF%DE%C5%CD%D5%D6%C5%CF%CE%C9%CE%C5%C7%CF%D7%CF%D2%D1%D4%D0%CF%D2%D5%D3%D3%CB%C9&amp;mode=toascii&amp;charset=ECMA-CYRILLIC">ECMA-CYRILLIC Russian Cyrillic (same as previous)</a>
288 <li><a href="http://josefsson.org/idn.php?data=T%E1%BA%A1isaoh%E1%BB%8Dkh%C3%B4ngth%E1%BB%83ch%E1%BB%89n%C3%B3iti%E1%BA%BFngVi%E1%BB%87t&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Vietnamese</a>
289 <li><a href="http://josefsson.org/idn.php?data=t%D5isaoh%F7kh%F4ngth%ACch%EFn%F3iti%AAngvi%AEt&amp;mode=toascii&amp;charset=VISCII">VISCII Vietnamese (same as previous)</a>
290 <li><a href="http://josefsson.org/idn.php?data=%E3%81%B2%E3%81%A8%E3%81%A4%E5%B1%8B%E6%A0%B9%E3%81%AE%E4%B8%8B2&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Japanese</a>
291 <li><a href="http://josefsson.org/idn.php?data=%A4%D2%A4%C8%A4%C4%B2%B0%BA%AC%A4%CE%B2%BC2&amp;mode=toascii&amp;charset=EUC-JP">EUC-JP Japanese (same as previous)</a>
292 <li><a href="http://josefsson.org/idn.php?data=%82%D0%82%C6%82%C2%89%AE%8D%AA%82%CC%89%BA2&amp;mode=toascii&amp;charset=SJIS">SHIFT_JIS Japanese (same as previous)</a>
293 <li><a href="http://josefsson.org/idn.php?data=Pro%C4%8Dprost%C4%9Bnemluv%C3%AD%C4%8Desky&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Czech</a>
294 <li><a href="http://josefsson.org/idn.php?data=Pro%E8prost%ECnemluv%ED%E8esky&amp;mode=toascii&amp;charset=ISO-8859-2">ISO-8859-2 Czech (same as previous)</a>
295 <li><a href="http://josefsson.org/idn.php?data=%E0%A4%AF%E0%A4%B9%E0%A4%B2%E0%A5%8B%E0%A4%97%E0%A4%B9%E0%A4%BF%E0%A4%A8%E0%A5%8D%E0%A4%A6%E0%A5%80%E0%A4%95%E0%A5%8D%E0%A4%AF%E0%A5%8B%E0%A4%82%E0%A4%A8%E0%A4%B9%E0%A5%80%E0%A4%82%E0%A4%AC%E0%A5%8B%E0%A4%B2%E0%A4%B8%E0%A4%95%E0%A4%A4%E0%A5%87%E0%A4%B9%E0%A5%88%E0%A4%82&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Hindi Devanagari</a>
296 <li><a href="http://josefsson.org/idn.php?data=%E0%BA%9E%E0%BA%B2%E0%BA%AA%E0%BA%B2%E0%BA%A5%E0%BA%B2%E0%BA%A7&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Lao</a>
297 <li><a href="http://josefsson.org/idn.php?data=bon%C4%A1usa%C4%A7%C4%A7a&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Maltese Malti</a>
298 <li><a href="http://josefsson.org/idn.php?data=bon%F5usa%B1%B1a&amp;mode=toascii&amp;charset=ISO-8859-3">ISO-8859-3 Maltese Malti (same as previous)</a>
299 <li><a href="http://josefsson.org/idn.php?data=%CE%B5%CE%BB%CE%BB%CE%B7%CE%BD%CE%B9%CE%BA%CE%AC&amp;mode=toascii&amp;charset=UTF-8">UTF-8 Greek</a>
300 <li><a href="http://josefsson.org/idn.php?data=%E5%EB%EB%E7%ED%E9%EA%DC&amp;mode=toascii&amp;charset=ISO-8859-7">ISO-8859-7 Greek (same as previous)</a>
301 </ul>
304 <hr>
305 <h2>Error codes</h2>
307 <pre>
309 enum
311 PUNYCODE_SUCCESS = 0,
312 PUNYCODE_BAD_INPUT, /* Input is invalid. */
313 PUNYCODE_BIG_OUTPUT, /* Output would exceed the space provided. */
314 PUNYCODE_OVERFLOW /* Input needs wider integers to process. */
317 enum
319 STRINGPREP_OK = 0,
320 /* Stringprep errors. */
321 STRINGPREP_CONTAINS_UNASSIGNED = 1,
322 STRINGPREP_CONTAINS_PROHIBITED = 2,
323 STRINGPREP_BIDI_BOTH_L_AND_RAL = 3,
324 STRINGPREP_BIDI_LEADTRAIL_NOT_RAL = 4,
325 STRINGPREP_BIDI_CONTAINS_PROHIBITED = 5,
326 /* Error in calling application. */
327 STRINGPREP_TOO_SMALL_BUFFER = 100,
328 STRINGPREP_PROFILE_ERROR = 101,
329 STRINGPREP_FLAG_ERROR = 102,
330 STRINGPREP_UNKNOWN_PROFILE = 103,
331 /* Internal errors. */
332 STRINGPREP_NFKC_FAILED = 200,
333 STRINGPREP_MALLOC_ERROR = 201
334 } Stringprep_rc;
336 enum
338 IDNA_SUCCESS = 0,
339 IDNA_STRINGPREP_ERROR = 1,
340 IDNA_PUNYCODE_ERROR = 2,
341 IDNA_CONTAINS_LDH = 3,
342 IDNA_CONTAINS_MINUS = 4,
343 IDNA_INVALID_LENGTH = 5,
344 IDNA_NO_ACE_PREFIX = 6,
345 IDNA_ROUNDTRIP_VERIFY_ERROR = 7,
346 IDNA_CONTAINS_ACE_PREFIX = 8,
347 IDNA_ICONV_ERROR = 9,
348 /* Internal errors. */
349 IDNA_MALLOC_ERROR = 201
351 </pre>
353 <hr>
354 </body>
355 </html>