--TEST-- Translation of HTML entities for encoding WIN-1252 --FILE-- array(0x80, "EURO SIGN"), //0x81 #UNDEFINED 0x201A => array(0x82, "SINGLE LOW-9 QUOTATION MARK"), 0x0192 => array(0x83, "LATIN SMALL LETTER F WITH HOOK"), 0x201E => array(0x84, "DOUBLE LOW-9 QUOTATION MARK"), 0x2026 => array(0x85, "HORIZONTAL ELLIPSIS"), 0x2020 => array(0x86, "DAGGER"), 0x2021 => array(0x87, "DOUBLE DAGGER"), 0x02C6 => array(0x88, "MODIFIER LETTER CIRCUMFLEX ACCENT"), 0x2030 => array(0x89, "PER MILLE SIGN"), 0x0160 => array(0x8A, "LATIN CAPITAL LETTER S WITH CARON"), 0x2039 => array(0x8B, "SINGLE LEFT-POINTING ANGLE QUOTATION MARK"), 0x0152 => array(0x8C, "LATIN CAPITAL LIGATURE OE"), //0x8D #UNDEFINED 0x017D => array(0x8E, "LATIN CAPITAL LETTER Z WITH CARON"), //0x8F #UNDEFINED //0x90 #UNDEFINED 0x2018 => array(0x91, "LEFT SINGLE QUOTATION MARK"), 0x2019 => array(0x92, "RIGHT SINGLE QUOTATION MARK"), 0x201C => array(0x93, "LEFT DOUBLE QUOTATION MARK"), 0x201D => array(0x94, "RIGHT DOUBLE QUOTATION MARK"), 0x2022 => array(0x95, "BULLET"), 0x2013 => array(0x96, "EN DASH"), 0x2014 => array(0x97, "EM DASH"), 0x02DC => array(0x98, "SMALL TILDE"), 0x2122 => array(0x99, "TRADE MARK SIGN"), 0x0161 => array(0x9A, "LATIN SMALL LETTER S WITH CARON"), 0x203A => array(0x9B, "SINGLE RIGHT-POINTING ANGLE QUOTATION MARK"), 0x0153 => array(0x9C, "LATIN SMALL LIGATURE OE"), //0x9D #UNDEFINED 0x017E => array(0x9E, "LATIN SMALL LETTER Z WITH CARON"), 0x0178 => array(0x9F, "LATIN CAPITAL LETTER Y WITH DIAERESIS"), ); $res = html_entity_decode("", ENT_QUOTES, 'WINDOWS-1252'); echo "Special test for  (shouldn't decode):\n"; echo $res,"\n\n"; $res = html_entity_decode("", ENT_QUOTES, 'WINDOWS-1252'); echo "Special test for  (shouldn't decode):\n"; echo $res,"\n\n"; $res = html_entity_decode("", ENT_QUOTES, 'WINDOWS-1252'); echo "Special test for  (shouldn't decode):\n"; echo $res,"\n\n"; $res = html_entity_decode("", ENT_QUOTES, 'WINDOWS-1252'); echo "Special test for  (shouldn't decode):\n"; echo $res,"\n\n"; $res = html_entity_decode("", ENT_QUOTES, 'WINDOWS-1252'); echo "Special test for  (shouldn't decode):\n"; echo $res,"\n\n"; foreach ($arr as $u => $v) { $ent = sprintf("&#x%X;", $u); $res = html_entity_decode($ent, ENT_QUOTES, 'WINDOWS-1252'); $d = unpack("H*", $res); echo sprintf("%s: %s => %s\n", $v[1], $ent, $d[1]); $ent = sprintf("&#x%X;", $v[0]); $res = html_entity_decode($ent, ENT_QUOTES, 'WINDOWS-1252'); if ($res[0] != "&" || $res[1] != "#") $res = unpack("H*", $res)[1]; echo sprintf("%s => %s\n\n", $ent, $res); } --EXPECT-- Special test for  (shouldn't decode):  Special test for  (shouldn't decode):  Special test for  (shouldn't decode):  Special test for  (shouldn't decode):  Special test for  (shouldn't decode):  EURO SIGN: € => 80 € => € SINGLE LOW-9 QUOTATION MARK: ‚ => 82 ‚ => ‚ LATIN SMALL LETTER F WITH HOOK: ƒ => 83 ƒ => ƒ DOUBLE LOW-9 QUOTATION MARK: „ => 84 „ => „ HORIZONTAL ELLIPSIS: … => 85 … => … DAGGER: † => 86 † => † DOUBLE DAGGER: ‡ => 87 ‡ => ‡ MODIFIER LETTER CIRCUMFLEX ACCENT: ˆ => 88 ˆ => ˆ PER MILLE SIGN: ‰ => 89 ‰ => ‰ LATIN CAPITAL LETTER S WITH CARON: Š => 8a Š => Š SINGLE LEFT-POINTING ANGLE QUOTATION MARK: ‹ => 8b ‹ => ‹ LATIN CAPITAL LIGATURE OE: Œ => 8c Œ => Œ LATIN CAPITAL LETTER Z WITH CARON: Ž => 8e Ž => Ž LEFT SINGLE QUOTATION MARK: ‘ => 91 ‘ => ‘ RIGHT SINGLE QUOTATION MARK: ’ => 92 ’ => ’ LEFT DOUBLE QUOTATION MARK: “ => 93 “ => “ RIGHT DOUBLE QUOTATION MARK: ” => 94 ” => ” BULLET: • => 95 • => • EN DASH: – => 96 – => – EM DASH: — => 97 — => — SMALL TILDE: ˜ => 98 ˜ => ˜ TRADE MARK SIGN: ™ => 99 ™ => ™ LATIN SMALL LETTER S WITH CARON: š => 9a š => š SINGLE RIGHT-POINTING ANGLE QUOTATION MARK: › => 9b › => › LATIN SMALL LIGATURE OE: œ => 9c œ => œ LATIN SMALL LETTER Z WITH CARON: ž => 9e ž => ž LATIN CAPITAL LETTER Y WITH DIAERESIS: Ÿ => 9f Ÿ => Ÿ