bug30549.phpt 767 B

12345678910111213141516171819202122232425262728293031
  1. --TEST--
  2. Bug #30549 (incorrect character translations for some ISO8859 charsets)
  3. --EXTENSIONS--
  4. mbstring
  5. --FILE--
  6. <?php
  7. test('ISO-8859-7', array(0xa4 => 0x20ac, 0xa5 => 0x20af, 0xaa => 0x037a));
  8. test('ISO-8859-8', array(0xaf => 0x00af, 0xfd => 0x200e, 0xfe => 0x200f));
  9. test('ISO-8859-10', array(0xa4 => 0x012a ));
  10. function test($enc, $map) {
  11. print "$enc\n";
  12. foreach($map as $fromc => $toc) {
  13. $ustr = mb_convert_encoding(pack('C', $fromc), 'UCS-4BE', $enc);
  14. foreach (unpack('Nc', $ustr) as $unic);
  15. printf("0x%04x, 0x%04x\n", $toc, $unic);
  16. }
  17. }
  18. ?>
  19. --EXPECT--
  20. ISO-8859-7
  21. 0x20ac, 0x20ac
  22. 0x20af, 0x20af
  23. 0x037a, 0x037a
  24. ISO-8859-8
  25. 0x00af, 0x00af
  26. 0x200e, 0x200e
  27. 0x200f, 0x200f
  28. ISO-8859-10
  29. 0x012a, 0x012a