bug72330.phpt 805 B

1234567891011121314151617181920212223242526
  1. --TEST--
  2. Bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars)
  3. --SKIPIF--
  4. <?php
  5. if (setlocale(LC_ALL, "en_US.utf8", "en_AU.utf8", "ko_KR.utf8", "zh_CN.utf8", "de_DE.utf8", "es_EC.utf8", "fr_FR.utf8", "ja_JP.utf8", "el_GR.utf8", "nl_NL.utf8") === false) {
  6. die('skip available locales not usable');
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. setlocale(LC_ALL, "en_US.utf8", "en_AU.utf8", "ko_KR.utf8", "zh_CN.utf8", "de_DE.utf8", "es_EC.utf8", "fr_FR.utf8", "ja_JP.utf8", "el_GR.utf8", "nl_NL.utf8");
  12. $utf_1 = chr(0xD1) . chr(0x81); // U+0440;
  13. $utf_2 = chr(0xD8) . chr(0x80); // U+0600
  14. $string = '"first #' . $utf_1 . $utf_2 . '";"second"';
  15. $fields = str_getcsv($string, ';', '"', "#");
  16. var_dump($fields);
  17. ?>
  18. --EXPECT--
  19. array(2) {
  20. [0]=>
  21. string(11) "first #с؀"
  22. [1]=>
  23. string(6) "second"
  24. }