4
<?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
6
iconv.internal_charset=iso-8859-1
9
function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
11
echo "$errno: $errmsg\n";
13
set_error_handler('my_error_handler');
15
function do_single_test($header)
19
$result = iconv_mime_decode($header, $mode, "UTF-8");
20
printf("(%d) \"%s\"\n", iconv_strlen($result, "UTF-8"), $result);
23
function do_regression_test()
25
do_single_test(<<< HERE
26
Subject: =?ISO-8859-1?Q?Pr=FCfung?=
27
=?ISO-8859-1*de_DE?Q?Pr=FCfung?=\t
28
=?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
31
do_single_test(<<< HERE
32
Subject: =?ISO-8859-1?Q?Pr=FCfung?= =?ISO-8859-1*de_DE?Q?=20Pr=FCfung?= \t =?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
35
do_single_test(<<< HERE
36
Subject: =?ISO-8859-1?Q?Pr=FCfung?==?ISO-8859-1*de_DE?Q?Pr=FCfung?==?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
39
do_single_test(<<< HERE
40
Subject: =?ISO-8859-1?Q?Pr=FCfung?= =?ISO-8859-1*de_DE?Q?Pr=FCfung?? =?ISO-8859-2?X?k=F9=D4=F1=D3let?=
43
do_single_test(<<< HERE
44
From: =?ISO-2022-JP?B?GyRCJTUbKEI=?=
45
=?ISO-2022-JP?B?GyRCJXMlVxsoQg==?=
46
=?ISO-2022-JP?B?GyRCJWtKOBsoQg==?=
47
=?ISO-2022-JP?B?GyRCO3pOcxsoQg==?=
48
=?ISO-2022-JP?B?GyRCJTUlcxsoQg==?=
49
=?ISO-2022-JP?B?GyRCJVclaxsoQg==?=
50
=?ISO-2022-JP?B?GyRCSjg7ehsoQg==?=
51
=?ISO-2022-JP?B?GyRCTnNGfBsoQg==?=
52
=?ISO-2022-JP?B?GyRCS1w4bBsoQg==?=
53
=?ISO-2022-JP?B?GyRCJUYlLRsoQg==?=
54
=?ISO-2022-JP?B?GyRCJTklSBsoQg==?=
61
$mode = ICONV_MIME_DECODE_STRICT;
63
$mode = ICONV_MIME_DECODE_CONTINUE_ON_ERROR;
65
$mode = ICONV_MIME_DECODE_STRICT | ICONV_MIME_DECODE_CONTINUE_ON_ERROR;
68
(31) "Subject: PrüfungPrüfungkůÔńÓlet"
69
(32) "Subject: Prüfung PrüfungkůÔńÓlet"
70
(31) "Subject: PrüfungPrüfungkůÔńÓlet"
71
2: iconv_mime_decode(): Malformed string
73
(27) "From: サンプル文字列サンプル文字列日本語テキスト"
74
(31) "Subject: PrüfungPrüfungkůÔńÓlet"
75
(32) "Subject: Prüfung PrüfungkůÔńÓlet"
76
(100) "Subject: =?ISO-8859-1?Q?Pr=FCfung?==?ISO-8859-1*de_DE?Q?Pr=FCfung?==?ISO-8859-2?Q?k=F9=D4=F1=D3let?="
77
2: iconv_mime_decode(): Malformed string
79
(27) "From: サンプル文字列サンプル文字列日本語テキスト"
80
(31) "Subject: PrüfungPrüfungkůÔńÓlet"
81
(32) "Subject: Prüfung PrüfungkůÔńÓlet"
82
(31) "Subject: PrüfungPrüfungkůÔńÓlet"
83
(84) "Subject: Prüfung=?ISO-8859-1*de_DE?Q?Pr=FCfung?? =?ISO-8859-2?X?k=F9=D4=F1=D3let?="
84
(27) "From: サンプル文字列サンプル文字列日本語テキスト"
85
(31) "Subject: PrüfungPrüfungkůÔńÓlet"
86
(32) "Subject: Prüfung PrüfungkůÔńÓlet"
87
(100) "Subject: =?ISO-8859-1?Q?Pr=FCfung?==?ISO-8859-1*de_DE?Q?Pr=FCfung?==?ISO-8859-2?Q?k=F9=D4=F1=D3let?="
88
(84) "Subject: Prüfung=?ISO-8859-1*de_DE?Q?Pr=FCfung?? =?ISO-8859-2?X?k=F9=D4=F1=D3let?="
89
(27) "From: サンプル文字列サンプル文字列日本語テキスト"