1--TEST-- 2Bug #30549 (incorrect character translations for some ISO8859 charsets) 3--SKIPIF-- 4<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> 5--FILE-- 6<?php 7test('ISO-8859-7', array(0xa4 => 0x20ac, 0xa5 => 0x20af, 0xaa => 0x037a)); 8test('ISO-8859-8', array(0xaf => 0x00af, 0xfd => 0x200e, 0xfe => 0x200f)); 9test('ISO-8859-10', array(0xa4 => 0x012a )); 10 11function test($enc, $map) { 12 print "$enc\n"; 13 14 foreach($map as $fromc => $toc) { 15 $ustr = mb_convert_encoding(pack('C', $fromc), 'UCS-4BE', $enc); 16 foreach (unpack('Nc', $ustr) as $unic); 17 printf("0x%04x, 0x%04x\n", $toc, $unic); 18 } 19} 20?> 21--EXPECT-- 22ISO-8859-7 230x20ac, 0x20ac 240x20af, 0x20af 250x037a, 0x037a 26ISO-8859-8 270x00af, 0x00af 280x200e, 0x200e 290x200f, 0x200f 30ISO-8859-10 310x012a, 0x012a 32