mirror of
https://github.com/php/php-src.git
synced 2026-04-28 02:33:17 +02:00
Merge branch 'PHP-5.6' into PHP-7.0
This commit is contained in:
@@ -76,6 +76,8 @@ PHP NEWS
|
||||
mode). (Lauri Kenttä)
|
||||
. Fixed bug #72264 (base64_decode $strict fails with whitespace between
|
||||
padding). (Lauri Kenttä)
|
||||
. Fixed bug #72330 (CSV fields incorrectly split if escape char followed by
|
||||
UTF chars). (cmb)
|
||||
|
||||
- Wddx:
|
||||
. Fixed bug #72564 (boolean always deserialized as "true") (Remi)
|
||||
|
||||
@@ -2254,6 +2254,7 @@ PHPAPI void php_fgetcsv(php_stream *stream, char delimiter, char enclosure, char
|
||||
memcpy(tptr, hunk_begin, bptr - hunk_begin);
|
||||
tptr += (bptr - hunk_begin);
|
||||
hunk_begin = bptr;
|
||||
state = 0;
|
||||
break;
|
||||
default:
|
||||
bptr += inc_len;
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
--TEST--
|
||||
Bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
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) {
|
||||
die('skip available locales not usable');
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
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");
|
||||
|
||||
$utf_1 = chr(0xD1) . chr(0x81); // U+0440;
|
||||
$utf_2 = chr(0xD8) . chr(0x80); // U+0600
|
||||
|
||||
$string = '"first #' . $utf_1 . $utf_2 . '";"second"';
|
||||
$fields = str_getcsv($string, ';', '"', "#");
|
||||
var_dump($fields);
|
||||
?>
|
||||
--EXPECT--
|
||||
array(2) {
|
||||
[0]=>
|
||||
string(11) "first #с"
|
||||
[1]=>
|
||||
string(6) "second"
|
||||
}
|
||||
Reference in New Issue
Block a user